基于其他两个组合的输入的组合项目



嗨,我有一个名为"设备表"的访问表和一个带有多个组合的胜利表,前三项工作,但它们从访问表中获得了不同的值。但是,第三个是从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时,数据集保持空白。关于为什么这是什么想法?

最新更新