-2

3 つの異なる SQL コードがあります。3 つのテキスト (男性、女性、両方) をコンボボックス コレクションに入れました。コンボボックスで例として男性を選択する方法がわかりませんが、適切な 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

Look(is in french) (Choisir le sexe= 性別を選択) (Afficher = 英語で表示)

ここに画像の説明を入力

どうもありがとう !

4

1 に答える 1

1

コンボボックスに 3 つの文字列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 に答える