【发布时间】:2018-02-09 09:29:55
【问题描述】:
我有一个带有两个组合框的应用。
当在 Combobox1 中选择一个项目时,Combobox3 项目将填充来自 Access db 的数据。
Combobox1 中的每个选择在 Combobox3 中都有不同的结果。
下面的代码是我目前所拥有的,但它不起作用。
无论我从 Combobox1 中选择什么值,在 Combobox3 中都一无所获。
如果我更改查询使其出错,它确实会引发错误。
public void metroComboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
this.metroTabPage1.Controls.Add(this.metroLabel11);
try
{
OleDbConnection myConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\server\databases\db2010.accdb;Persist Security Info=False;");
myConn.Open();
OleDbCommand myQuery = new OleDbCommand("Select [Equipment] from [Test Equipment] where [Description] = '" + this.metroComboBox1.Text + "';", myConn);
OleDbDataReader reader = myQuery.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(reader);
foreach (DataRow myRow in dt.Rows)
{
string reference = myRow["Equipment"].ToString();
this.metroComboBox3.Items.AddRange(new object[] { reference });
//this.metroComboBox3.Items.Add(myRow["Equipment"].ToString());
}
myConn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Ex: " + ex);
}
this.metroComboBox3.Items.Add("Other");
this.metroTabPage1.Controls.Add(this.metroComboBox3);
}
我试过了
this.metroComboBox3.Items.Add(myRow["Equip No"].ToString());
和
string reference = myRow["Equip No"].ToString();
this.metroComboBox3.Items.AddRange(new object[] { reference });
结果相同。
【问题讨论】:
-
请包含您使用的语言标签