2016-12-24 23 views
0

Hallo, ich bin sehr neu in der Programmierung und ich möchte über meinen Code hier, In Lab-Inventar mit Kreditaufnahme und Rückgabe von Transaktion, ich möchte einen Kreditnehmer aus dem gleichen Kredit zu leihen, wenn er hasn hat Ich gebe einen Fehler zurück Sie haben einen Fehler in Ihrer SQL-Syntax Überprüfen Sie das Handbuch, das Ihnen entspricht MariaDB Server-Version für die richtige Syntax in der Nähe von 'ItemId =' 2 'UND BorrowererId =' 2 'dies zu verwenden mein Code:C# überprüfen, ob Datensätze bereits vorhanden sind

conn.Open(); 
cmd.CommandText = "SELECT * FROM transactions_table WHERE ReturnDate IS NULL, [email protected] AND [email protected]"; 
cmd.Parameters.AddWithValue("@BorrowerId", txtBorrowStudentId.Text); 
cmd.Parameters.AddWithValue("@ItemId", txtBorrowItemId.Text); 
MySqlDataReader reader = cmd.ExecuteReader(); 
if (reader.Read()) 
{ 
    MessageBox.Show("Duplicate present"); 
} 
conn.Close(); 
+0

Die Fehlermeldung i s ganz klar: "Sie haben einen Fehler in Ihrer SQL-Syntaxprüfung .... in der Nähe von 'ItemId =' 2 'UND BorrowerId =' 2 '". füge "NULL ** UND ** ItemId = @ ItemId" hinzu und es wird funktionieren. –

+0

Btw: Es ist immer eine gute Idee, manuell erstellte Abfragen von einem externen db-Tool zu testen. Ich kenne MariaDB nicht und konnte dir nicht sagen, wie es dort heißt, aber ich bin sicher, so etwas existiert. –

+0

Noch ein Vorschlag: Sie müssen den Datarow nicht lesen. Ändern Sie Ihre Abfrage in 'SELECT COUNT (*) FROM ....' und verwenden Sie 'if (((int) cmd.ExecuteScaler())> 0)', um zu prüfen, ob ein Datensatz Ihrer Bedingung entspricht oder nicht. –

Antwort

Verwandte Themen