-2

我有 3 个不同的 SQL 代码。我将我的 3 个文本(男性、女性、两者)放在组合框集合中。我不知道如何在组合框中按示例选择 Men 时,应用良好的 SQL 代码。

男士:

SELECT EmployeeID, FirstName, LastName, MaritalStatus, Gender 
FROM Employes, Contacts 
WHERE Employes.ContactId = Contacts.ContactID 
  AND Gender = 'M' 
ORDER BY LastName, FirstName

女士:

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

看(是法语)(Choisir le sexe = 选择性别)(Afficher = 以英语显示)

在此处输入图像描述

多谢 !

4

1 回答 1

1

假设你用三个字符串填充你的组合框,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_s 评论

于 2012-12-20T21:20:37.783 回答