プロが教える店舗&オフィスのセキュリティ対策術

 HTMLのフォームから、getParameterで取得した値(id,name,club)をデータベースに挿入したいのですが、
String sql="insert into test_table values(id,name,club)";
 と記述してもその文字列がそのままテーブルに反映されてしまいます。
 もちろん、
String sql="insert into test_table values('12','●田○郎','野球部')";
とあらかじめ記述しておけばこのデータがテーブルに挿入されるのですが・・・。
 PHPでは確かvalues('{$id}','{$name}','{$club}')のように記述すればできたので戸惑っています。
 JAVAでSQL文に変数を含める場合、どのように記述すればいいのでしょうか?

A 回答 (2件)

String sql="insert into test_table values(" + id + "," + name + "," + club + ")";



でいけます。
""で括られている中は文字列なので、変数として扱いたければ文字列の外に出せば良いだけです。
id、name、clubが文字型であるなら、↓のようにシングルクォートで括りましょう。

String sql="insert into test_table values('" + id + "','" + name + "','" + club + "')";
    • good
    • 9
この回答へのお礼

回答ありがとうございます。
実は「""でくくられている=文字列扱い」と思い、自分なりに似たような記述で試していたのですが、シングルクォートと+の位置を書き間違えてエラーになっておりました。
ご指摘の記述で無事動作いたしました。ありがとうございました。

お礼日時:2007/06/04 14:35

PreparedStatementを使ってみてはいかかでしょうか。

    • good
    • 0
この回答へのお礼

回答ありがとうございます。
No.1の方の加藤にある記述で無事動作しましたが、場合によってはPreparedStatementの使用も考えてみたいと思います。

お礼日時:2007/06/04 14:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!