2016-04-17 7 views
0

Ich möchte überprüfen, ob der Wert in der Datentabelle auf dem Wert des Schalterausdrucks basiert oder nicht. Zuerst habe ich Datentabelle aus der Datenbank geladen.DataTable Select-Methode gibt keinen Wert zurück

hier in der Fall 2 Ich überprüfe, ob Datensatz in Datentabelle basierend auf dem Wert des Schalters Ausdruck vorhanden ist. Aber es funktioniert nicht.

switch (number) 
    { 
    case 0: TextToSpeech("No information on 0 button"); break; 
    case 1: TextToSpeech("Hello"); break; 
    case 2: 
      { 
      DataRow[] result = dt.Select("subMenuData where mainMenuNum = '" +number + "'"); 
      if (result != null) 
        { LowerMenu(); 
        break; 
        } 

      else 
       { 

        SqlCommand cmd = new SqlCommand("Select mainMenuData from [menudatas] WHERE mainMenuNum = '" + number + "' AND ivrNumber = '" + number + "'; ", objConnection); 
        SqlDataReader dr = cmd.ExecuteReader(); 
        while (dr.Read()) 
        { 
        data = dr.GetString(0); 
        } 

        dr.Close(); 
        data1 = data; 
        objConnection.Close(); 
        TextToSpeech(data1); break; 
       } 
     } 
    } 

Bitte helfen Sie mir in dieser matter.Thanks

Antwort

0

einfach die WHERE-Bedingung schreiben, ohne das Schlüsselwort WHERE oder andere Informationen

DataRow[] result = dt.Select("mainMenuNum = '" +number + "'"); 

An diesem Punkt das Ergebnis Array die Zeilen enthält, entspricht den Kriterien für den Filter. Sie können den Inhalt der Zeile überprüfen mit

// Check if the result contains at least one row  
if(result.Length > 0) 
{ 
    .... 

    // if your logic requires another check on the returned columns you 
    // could add it to the Select expression above or just add a check here 
    // Here an example with a column of string type 
    if(result[0].Field<string>("YourColumnName") == "value") 
    ....  

    .... 
} 

Sie könnten die Regeln finden für die Expression in der Select Methode in den DataColumn.Expression property page auf MSDN

+0

zu verwenden, aber ich mag Wert aus einer anderen Spalte auf dieser Grundlage prüfen, wo Bedingung – ahmed

+0

Dann haben Sie den Datarow bei Index Null, um den Feldwert zu betrachten – Steve

+0

Entschuldigung, ich habe es nicht verstanden. Kann man das erklären – ahmed