嗨,我有一个名为"设备表"的访问表和一个带有多个组合的胜利表,前三项工作,但它们从访问表中获得了不同的值。但是,第三个是从Comboboxes Manufacter_CMBBX和type_cmbbx接收输入。我为所有组合使用了相同的代码,只有选择查询才更改。VS中的诊断工具表明,正确的值将传递到选择查询中。然而,组合仍然是空的。我呼吁在combobox type_cmbbx
的选定valuechanged事件上更改Combobox。 private void LoadModel_cmbBx()
{
string strCon = Properties.Settings.Default.Database2ConnectionString;
using (OleDbConnection conn = new OleDbConnection(strCon))
{
try
{
string strSql = "Select Model from EquipmentTable where [Manufacturer] = '" + Manufacturer_cmbBx.Text + "' and [Type] = '" + Type_cmbBx.Text + "'";
OleDbDataAdapter adapter = new OleDbDataAdapter(new OleDbCommand(strSql, conn));
DataSet ds = new DataSet();
adapter.Fill(ds);
Model_cmbBx.DataSource = ds.Tables[0];
Model_cmbBx.ValueMember = "Model";
conn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
使用vs中的数据集查看器,我可以看到只有模型列,所以我将语句更改为
"Select DISTINCT * from EquipmentTable where Type = '" + Type_cmbBx.Text + "' and Manufacturer = '"+ Manufacturer_cmbBx + "'";
这仍然不起作用,但是
"Select DISTINCT * from EquipmentTable where Type = '" + Type_cmbBx.Text + "'";
正常工作
string strSql = "Select DISTINCT * from EquipmentTable where Manufacturer = '" + Manufacturer_cmbBx + "'";
仅当我尝试添加第二个ComboBox时,数据集保持空白。关于为什么这是什么想法?