C# combobox/SelectedIndex随SQL更改

C# combobox/SelectedIndex随SQL更改,c#,sql,visual-studio,combobox,C#,Sql,Visual Studio,Combobox,我有3个不同的SQL代码。我把我的3个文本(男人,女人,两者)放在组合框集合中。我不知道当我在combobox中选择example Men时,如何应用好的SQL代码 男子: 女士: SELECT EmployeeID, FirstName, LastName, MaritalStatus, Gender FROM Employes, Contacts WHERE Employes.ContactId = Contacts.ContactID AND Gender = 'F' ORDE

我有3个不同的SQL代码。我把我的3个文本(男人,女人,两者)放在组合框集合中。我不知道当我在combobox中选择example Men时,如何应用好的SQL代码

男子:

女士:

SELECT EmployeeID, FirstName, LastName, MaritalStatus, Gender 
FROM Employes, Contacts 
WHERE Employes.ContactId = Contacts.ContactID 
  AND Gender = 'F' 
ORDER BY LastName, FirstName
两者:

SELECT EmployeeID, FirstName, LastName, MaritalStatus, Gender 
FROM Employes, Contacts 
WHERE Employes.ContactId = Contacts.ContactID 
ORDER BY LastName, FirstName
Look(法语)(Choisir le sexe=选择sexe)(Afficher=英语节目)


非常感谢

假设您在组合框中填充三个字符串
Hommes、Femmes、Tous
,那么当您收到事件
SelectedIndexChanged
时,您可以编写如下内容

private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
   // Get the currently selected item in the ListBox.
   string curItem = comboBox1.SelectedItem.ToString();
   string sqlText = "SELECT EmployeeID, FirstName, LastName, MaritalStatus, Gender " + 
                    "FROM Employes JOIN Contacts ON Employes.ContactId = Contacts.ContactID "
   switch(curItem)
   {
      case "Femmes":
          sqlText += "AND Gender = 'F' ORDER BY LastName, FirstName";
          break;
      case "Hommes":
          sqlText += "AND Gender = 'M' ORDER BY LastName, FirstName";
          break;
      default:
          sqlText += "ORDER BY LastName, FirstName";
   }
   DataTable dt = GetEmployeeList(sqlText);
   ...... // Now fill the datasource of your grid
}

编辑:嗯,只需阅读@marc_的评论

您需要编写C代码,当在组合框中进行选择(使用新System.EventHandler(ComboBox1_SelectedIndexChanged)时,该代码将起作用,然后运行相应的SQL调用。-这种旧式的逗号分隔表列表样式在ANSI-92 SQL标准(20年前!)。请停止使用它,汉克,伙计+代表!和平!
private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
   // Get the currently selected item in the ListBox.
   string curItem = comboBox1.SelectedItem.ToString();
   string sqlText = "SELECT EmployeeID, FirstName, LastName, MaritalStatus, Gender " + 
                    "FROM Employes JOIN Contacts ON Employes.ContactId = Contacts.ContactID "
   switch(curItem)
   {
      case "Femmes":
          sqlText += "AND Gender = 'F' ORDER BY LastName, FirstName";
          break;
      case "Hommes":
          sqlText += "AND Gender = 'M' ORDER BY LastName, FirstName";
          break;
      default:
          sqlText += "ORDER BY LastName, FirstName";
   }
   DataTable dt = GetEmployeeList(sqlText);
   ...... // Now fill the datasource of your grid
}