我无法从组合框中获取值。我的目标是,当我在组合框中选择一个项目时,它会在txtadres
文本框中显示客户的地址。
当我测试代码时,它给出了一个空引用异常。
我也试过comboBox1.SelectedItem.ToString();
,但也没有用。我不能使用comboBox1.Text
,因为显示成员与值成员不同。显示成员是客户名称,值成员是客户代码。
private void comboBox1_SelectedValueChanged(object sender, EventArgs e)
{
string cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\Database1.accdb";
string cc = comboBox1.SelectedValue.ToString();
string sql = "SELECT * FROM Customers WHERE customercode = '" + cc + "'";
using (OleDbConnection con = new OleDbConnection(cs))
{
if (cc == "")
{
txtadres.Text = "No address found!";
}
else
{
OleDbCommand com = new OleDbCommand(sql, con);
con.Open();
OleDbDataReader DB = com.ExecuteReader();
if (!DB.Read())
return;
txtadres.Text = DB["Adress"].ToString();
con.Close();
}
}
}
更新我找到了解决方案,这对我有用:string cc = Convert.ToString(comboBox1.SelectedValue);