2015-04-24 93 views
-1

我正在使用此代碼以便爲數據庫添加一些值。C# - 組合框選定值

string cs = "Data Source=CODRINMA\\CODRINMA;Initial Catalog=BusManager; Trusted_Connection=True;"; 
string insert = "INSERT INTO Autocare (IDAutocar, TipAutocar) VALUES (@IDAutocar, @TipAutocar)"; 

try 
{ 
    using (SqlConnection con = new SqlConnection(cs)) 
    { 
     con.Open(); 
     SqlCommand cmd = new SqlCommand(insert, con); 
     cmd.Parameters.AddWithValue("@IDAutocar", txtID.Text); 
     cmd.Parameters.AddWithValue("@TipAutocar", cmbTip.SelectedValue); 
     int valoare = cmd.ExecuteNonQuery(); 
     con.Close(); 
     MessageBox.Show(valoare + "Autocarul a fost adaugat cu succes!"); 
     } 
} 

catch (Exception er) { MessageBox.Show(er.Message); } 

在此線 - >cmd.Parameters.AddWithValue("@TipAutocar", cmbTip.SelectedValue);我想的是,用戶選擇由和當我按下按鈕插入在DB的值組合框(這是另一種形式完成的值)提供的值,我具有這種錯誤 -

的參數化查詢 '(@IDAutocar nvarchar的(1),@TipAutocar爲nvarchar(4000))INSERT INTO A' 預計參數 '@TipAutocar',但未提供該。

任何人都可以給我一些幫助嗎?

+0

我想你還沒有將你的'ComboBox'綁定到一個DataSource ...所以試試'cmbTip.SelectedItem'來代替。 – stefankmitph

+0

您是否檢查過是否有「SelectedValue」? – Sayse

+0

您是否調試過您的代碼以及什麼是「cmbTip.SelectedValue」? –

回答

1

試試這個:

cmd.Parameters.AddWithValue("@TipAutocar",cmbTip.GetItemText(cmbTip.SelectedItem)); 
0

的SelectedValue不返回一個字符串。你必須使用:

cmd.Parameters.AddWithValue("@TipAutocar", cmbTip.SelectedValue.ToString());