2016-04-01 5 views
2

existiert Ich habe ein Textfeld, eine Schaltfläche und ein Label, die nicht sichtbar ist. Wir geben etwas in das Textfeld ein und klicken auf die Schaltfläche. Wenn die Daten in der Datenbank vorhanden sind, wird die Beschriftung sichtbar. Hier ist mein Code, aber wenn ich auf den Button klicken, passiert nichts:Zeigen Sie eine Beschriftung, wenn die Zeile in einer SQL-Datenbank in C#

DBConnect MySQLcnn = new DBConnect(); 
string myString = "SELECT name FROM students WHERE s_id = '" + 123 + "'"; 
MySQLcnn.PerformSearch(myString); 
if(textBox1.text == myString) 
{ 
    confirm.Visible = true; 
} 
+0

Es gibt nichts in das Code-Snippet Sie auf dem Laufenden, dass löst auf den Button klicken (Ich gehe davon aus WinForms?) Oder das setzt textBox1 .text-Wert. Wenn Sie also raten müssen, würde ich meinen, dass Ihr textBox1.text-Wert nicht derselbe wie myString ist und Ihre if-Anweisung false auswertet. Sie sollten auch in die Verwendung von parametrisierten Eingaben schauen, wenn Sie ein offenes Textfeld haben möchten, um Ihre Anfrage zu füttern. –

+0

Warum fragen Sie die Datenbank ab, wenn Sie nichts mit den Ergebnissen machen? Sie überprüfen nur, ob der in das Textfeld eingegebene Benutzer mit der SQL-Abfragezeichenfolge übereinstimmt und nicht mit den Ergebnissen der Abfrage. – d512

Antwort

-1
string sql = "SELECT name FROM students WHERE s_id = '" + 123 + "'"; 
using (SqlConnection conn = new SqlConnection(connString)) 
{ 
    SqlCommand cmd = new SqlCommand(sql, conn); 
    try 
    { 
     conn.Open(); 
     name = (string)cmd.ExecuteScalar(); 
     if(textBox1.text == myString) 
     { 
      confirm.Visible = true; 
     } 
    } 
    catch (Exception ex) 
    { 
    } 
}