2013-03-19 5 views
0

나는 액세스 데이터베이스의 데이터를 다른 형식의 텍스트 상자에 표시하는 코드가 있습니다.매개 변수에 기본값을 지정하는 방법은 무엇입니까?

item items = new item(); 
Add_Order addorder = new Add_Order(); 
OleDbCommand cmd = new OleDbCommand("Select * from tblItems WHERE ItemName = @Item", connection); 
cmd.Parameters.AddWithValue("@Item", items.ItemName1); 
cmd.Connection = connection; 
connection.Open(); 

cmd.ExecuteNonQuery(); 
cmd.Parameters.AddWithValue("@ItemID", addorder.tbItemID.Text); 
cmd.Parameters.AddWithValue("@ItemName", addorder.tbName.Text); 
cmd.Parameters.AddWithValue("@ItemPrice", addorder.tbPrice.Text); 
OleDbDataReader read = cmd.ExecuteReader(); 
while (read.Read()) 
{ 
    addorder.tbItemID.Text = read[0].ToString(); 
    addorder.tbName.Text = read[1].ToString(); 
    addorder.tbPrice.Text = read[2].ToString(); 
} 
addorder.ShowDialog(); 
connection.Close(); 

오류가

매개 변수 @item이 기본값

이 없습니다 그러나

cmd.Parameters.AddWithValue("@Item", items.ItemName1); 
+1

이 items.ItemName1에 대한 모든 값이를 구성하는 것입니다? –

+0

내가 아는 한, 매개 변수를 할당 할 때 '@'기호가 필요하지 않습니다. – Fendy

+0

@ ling.s - 클래스가있는 항목. :) – bhert

답변

1

이 시도 이미이 줄 @Item의 값을 할당 말한다 하나 :

cmd.Parameters.AddWithValue("@Item", OleDbType.VarChar).Value = items.ItemName1; 

ExecuteNonQuery() .. 다음에 왜 다시 사용하고 있습니까?

cmd.Parameters.AddWithValue("@ItemID", addorder.tbItemID.Text); 
cmd.Parameters.AddWithValue("@ItemName", addorder.tbName.Text); 
cmd.Parameters.AddWithValue("@ItemPrice", addorder.tbPrice.Text); 
2

일부 실수를 발견했습니다. 일부 항목을 검색하고 있습니다. 그런 다음 ExecuteNonquery()와 다른 매개 변수를 사용하는 이유는 무엇입니까? 이 코드를 사용해보십시오.

cmd.Connection = connection; 
connection.Open(); 
OleDbCommand cmd = new OleDbCommand("Select * from tblItems WHERE ItemName = @Item", connection); 
cmd.Parameters.AddWithValue("@Item", items.ItemName1); 

OleDbDataReader read = cmd.ExecuteReader(); 
while (read.Read()) 
{ 
addorder.tbItemID.Text = read[0].ToString(); 
addorder.tbName.Text = read[1].ToString(); 
addorder.tbPrice.Text = read[2].ToString(); 
} 
connection.Close(); 

items.ItemName1에 유효한 항목이 있는지 확인하십시오. 당신은 단순히

cmd.Parameters.AddWithValue("@Item", "some text"); 
+0

죄송하지만 같은 오류가 있습니다. ( – bhert

+0

표시된 값 중 일부를 확인 했습니까? –

+0

코드가 작동하고 매개 변수의 값이 –

0
cmd.Parameters.Add(new OleDbParameter("item", OleDbType.VarChar, 32, "Item").Value = items.ItemName1; 
        ^^^^^^^^^^^^^^^^^^ 

점으로 수동으로 일부 값을 전달하여이를 확인할 수는 매개 변수()

+0

@bhert 시도해 보셨습니까? – 4pie0

관련 문제