C# datenbankabfrage

guten morgen,

ich habe folgende Datenbank abfrage:

string sqlString = "SELECT TOP (100) PERCENT dbo.SIMKarte.id, Kartennummer +' | '+Telefonnummer +' | '+ AktAusgegebenAn AS angezText FROM dbo.SIMKarte WHERE AktAusgegebenAn LIKE '" + cmbSim.Text + "' OR Kartennummer LIKE '%" + cmbSim.Text+"%' OR Telefonnummer LIKE '%" +cmbSim.Text + "%'";



 SqlDataAdapter da = new SqlDataAdapter(sqlString, \_connectionString);

 DataSet ds = new DataSet();
 da.Fill(ds);

 this.cmbSim.Items.Clear();
 foreach (DataRow dr in ds.Tables[0].Rows)
 {

 ComboElement ce = new ComboElement();
 ce.AngezeigterText = dr["angezText"].ToString();
 ce.Value = dr["id"].ToString();


 this.cmbSim.Items.Add(ce);
 }

wie kann ich wenn der wert AktAusgegenAn leer ist, das er angezeigt wird als wäre er frei.

also eigentlich funktioniert es soweit. aber es sind immer leere Datensätze dabei. und es sind immer die, wo kein AktAusgegebenAn ist.

darum möchte ich es abfangen und da habe ich mir gedacht das ich das einfach auf den wert „frei“ setze…aber NUR ANGEZEIGT. und nicht auf der Datenbank

vielen Dank im vorraus

Hallo

Ja dachte ich es doch. In der SQL Liegt der Hund begraben. Aber mann muss auf die Stringtrennung achten. Und zwar da:

WHERE AktAusgegebenAn LIKE ‚" + cmbSim.Text + "‘ OR Kartennummer LIKE ‚%" + cmbSim.Text+"%‘ OR Telefonnummer LIKE ‚%" +cmbSim.Text + "%‘";

Hier!
WHERE AktAusgegebenAn LIKE ‚" + cmbSim.Text + "‘ …

Müsste das nicht irgendwie so heissen:
WHERE AktAusgegebenAn = (’" + cmbSim.Text + „’ And '“ + cmbSim.Text + „’ '“"""’ & ‚""""‘)’" OR…

Die Idee ist das das Gleichnis dur eine Und Verknüpfung ergänzt wird. So unter dem Motto, wenn der Parameter existiert und der Parameter ungleich „leer“ ist, dann, oder bei einer der nächsten Bedingungen.

Grüsse Sebastian