2015-04-24 90 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());