2017-10-10 27 views
-1
String query="insert into employee values('"+e.getId()+",'"+e.getName()+"',"+e.getSalary()+")"; 

このコードで何が問題ですか。エラー - 文字列リテラルは二重引用符で正しく閉じられません。あなたはe.getSalary()二重引用符が正しく閉じられていません

+6

あなたの質問を印刷して、「従業員の値( 'someid、' somename '、somesalary)」を挿入してから、 '' someid'を見てください。 – Thomas

+0

@thomas良いスポット!これはIDを正しく閉じていないので、 ''" ...のように見えるはずです... + e.getId()+ "'、" "' ''の前に ''を気付いてください、 –

答えて

0

引用はあなたが引用符のカップルを逃しているidフィールド

String query="insert into employee values('"+e.getId()+"','"+e.getName()+"',"+e.getSalary()+")"; 
0

のために不足していますIDの単一引用符しかありません。それを削除するか(idは数値になります)、それに応じて閉じます。

さらに、PreparedStatementを使用して、対応する方法を使用してパラメータを設定して、クォートトピック全体を回避し、SQLインジェクション攻撃を防止します。

+0

給料は数値であるかもしれません。 – Lothar

+0

@ Lotharは本当ですが、一般的に私はidがより良いチャンスを持つと想像していましたので、私はOPもそれを逃したと仮定しました。 – notyou

0

e.getId()
String query="insert into employee values('"+e.getId()+"','"+e.getName()+"','"+e.getSalary()+"')"; 

すなわち閉じ1と両方:

関連する問題