• ベストアンサー

データベースに変数の値を挿入

 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文に変数を含める場合、どのように記述すればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
noname#33813
noname#33813
回答No.1

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

rusya
質問者

お礼

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

その他の回答 (1)

回答No.2

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

rusya
質問者

お礼

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

関連するQ&A