2017-11-12 6 views
-1

SQL Server의 tinyint 열 (FoodType)에 콤보 상자의 선택한 항목 인덱스를 삽입하려고합니다. 나는 아래의 코드를 작성,하지만 난 예외가 얻을 :콤보 상자 항목 인덱스를 small int 열에 삽입하십시오.

는 스칼라 변수 @fType

나는 무엇을해야 선언해야합니다?

string query = "INSERT INTO MenuTbl (FoodName,FoodType,FoodUnit, SalePrice)" + 
       "VALUES (@fName, @fType, @fUnit, @fPrice)"; 

connection = new SqlConnection(conectionString); 

SqlCommand cmd = new SqlCommand(query,connection); 
cmd.Parameters.AddWithValue("@fName", FNameTextBox.Text.Trim()); 
cmd.Parameters.AddWithValue("@fTyp", TypeComboBox.SelectedIndex + 1); 
cmd.Parameters.AddWithValue("@funit", UnitComboBox.SelectedIndex +1); 
cmd.Parameters.AddWithValue("@fprice", int.Parse(PriceEdit.Text)); 

connection.Open(); 
cmd.ExecuteNonQuery(); 
connection.Close(); 
+3

당신은 당신이 당신의 변수에 보이는 경우, 오류 메시지, 당신은 발견 할 수 변하지 않았고 앞으로도 명확해야한다 보인다 VALUES' –

+0

'에 전달 된 매개 변수와 일치하도록 @ fType''에 fTyp' @ 오타 변화'가 한 글자가 다섯 글자 변수 이름에 빠졌습니다 ... – oerkelens

답변

1

매개 변수에 "e"가 누락 되었습니까?

cmd.Parameters.AddWithValue("@fTyp", TypeComboBox.SelectedIndex + 1); 
1

난 당신이

cmd.Parameters.AddWithValue("@fTyp", TypeComboBox.SelectedIndex + 1); 

그것은이어야 당신의 선택 쿼리

string query = "Insert into MenuTbl (FoodName,FoodType,FoodUnit, SalePrice)" + 
     "VALUES (@fName,@fType,@fUnit, @fPrice)"; 

그리고 나는 또한 TypeComboBox.SelectedIndex + 1 것이라고 생각에 따라 @fType해야합니다 코드 줄에 오타가 생각 선택한 텍스트 내용이 아닌 색인 + 1 숫자 값만 제공합니다. 너가 원하는게 그거야?