2017-03-08 3 views
1

Ich habe versucht, Details zu Tisch hinzuzufügen, aber es einige SQL-FehlerJAVA jdbc Eclipse-SQLException

Abfrage zeigt ist:

t=st1.executeUpdate("insert into stdetails(regno,nam,cid,gender,HouseName,place,guardian,phone,photo,did,Emailid,sem) values("+ reg+",'"+ n +"',"+ c +",'"+g+"','"+ h+"','"+p+"','"+ guar +"','"+ph+"','"+pic+"',"+d+",'"+e+"',"+s+""); 

Fehler ist

Sie haben einen Fehler in Ihrer SQL Syntax; Sie in die Bedienungsanleitung zu Ihrer MySQL-Server-Version für die richtige Syntax entspricht in der Nähe zu verwenden ‚‘ at line 1

+1

Sieht aus wie eine Ihrer Werte leer ist und Sie verpassen die einzelnen qoutes. BTW: Erfahren Sie über vorbereitete Anweisungen, um SQL-Injektion zu verhindern – Jens

+0

Aber es zeigt auch denselben Fehler, wenn ich vorbereitete stmnts verwenden –

+0

Bitte fügen Sie die Vorbereitung Stament zu Ihrer Frage nicht als Kommentar – Jens

Antwort

1

Ihr fehlen die Klammern ) am Ende Ihrer Abfrage, damit es aussehen sollte:

t = st1.executeUpdate("...." + s + ")"); 
//----------------------------------^--- 

ABER

Statt auf diese Weise zu verwenden, kann dies einen Syntaxfehler wie der Fall sein verursachen und kann eine Sql Injection Sie verursachen haben PreparedStatement zu verwenden.

+0

Danke Chef !! Es klappt !! ‚)‘ –

+0

Sie willkommen sind, statt, schlage ich vor PrepapredStatement ok zu verwenden, um all diese Probleme der Syntax ok @VaisakhMA –

+0

@VaisakhMA zu vermeiden, wenn die Arbeit mit Ihnen danken Ihnen die Antwort wie eine akzeptierte Antwort zu markieren;) –

1

gibt es Fehler in der MySQL-Syntax

String query="insert into stdetails (regno,nam,gender) values(?,?,?)"; 
PreparedStatement preparedStmt2 = con.prepareStatement(query); 
preparedStmt2.setInt (1," "); 
preparedStmt2.setString (2," "); 
preparedStmt2.setString(3, " "); 
preparedStmt2.execute(); 

wie diese Sie auch weitere Spalten hinzufügen

+0

Warum setString, wenn die ersten Spalten Int-Werte sind – Jens

+0

Can Sie verwenden, um eine Zeichenfolge in setInt wirklich? – Jens