2016-04-04 6 views
0

Ich bekomme dies:
java.sql.SQLException: [Microsoft] [ODBC Microsoft Access Treiber] Syntax Fehler in der FROM-Klausel. Für meinen Code:Syntaxfehler in meinem from Klausel

ResultSet results = state.executeQuery("SELECT * FROM User" + "WHERE user_name = '" + 
        txtUser.getText() + "'AND password = '" + txtPass.getText() + "'"); 

Ich habe bereits alle Variablen deklariert, und ich vermute, dass die Fehler etwas mit der Struktur zu tun hat, ich bin aber nicht sicher. Dank

+2

Ihnen fehlt ein Leerzeichen zwischen 'User' und' WHERE'. – starf

+0

Oh! Das hat perfekt funktioniert! Vielen Dank ! – Workwork

Antwort

3

Wenn Sie achten auf Ihren Code auf dieser Linie:

"SELECT * FROM User" + "WHERE user_name 

Sie können sehen, dass dies zu

SELECT * FROM UserWHERE user_name 

Sie müssen in einem Raum hinzuzufügen.

Zusätzlich öffnen Sie sich für SQL-Injection-Angriffe, indem Sie Ihre Aussage so aufbauen. Sie sollten wirklich eine PreparedStatement verwenden und Platzhalter verwenden. Sie müssen die Anweisung auch nicht manuell erstellen, um dieses Problem zu vermeiden.

Verwandte Themen