※ ChatGPTを利用し、要約された質問です(原文:サーブレット、JSP、Mysqlについて)
画面の入力値をDBに書き込む方法についての質問
このQ&Aのポイント
JavaのサーブレットとJSPを使用して画面の入力値をDBに書き込む方法について質問です。
画面のtextboxの値を取得する方法はString[] name = request.getParameterValues("sonota");ですが、textboxが増える場合はどのように書き込めば良いか分かりません。
DBへの書き込みの理想的な方法としては、textboxが増えるたびに新しい列を作成して値を書き込むことです。
Java サーブレット JSPについて質問です。
やりたいことは画面のtextboxの値をDBに書き込みたいです。
画面側でIDとパスワードを"sonota"にセットして、
サーブレット側はString[] name = request.getParameterValues("sonota");
で画面の値を取得できると思いますが、その以外の書き方がいまいちです・・
なお、textboxには追加ボタンがあり、押すとtextboxがどんどん増えていきます。
この場合はどのようにDBに書き込めばいいのでしょうか?
理想としては、textbox一個なら、DBは列agiは1でnameにはtextboxの入力した値をセット。
textbox二個なら、DBは列agi1とagi2を作成して、textbox二つの値をそれぞれに書き込む。
ソース
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
String[] name = request.getParameterValues("sonota");
Connection conn = null;
Statement state = null;
int count = 0;
try
{
//コネクション接続
Class.forName("org.git.mm.mysql.Driver");
conn = DriverManager.getConnection(
"jdbc:mysql://localhost/Sampl_db", "root", "taratara");
state = conn.createStatement();
//クエリ実行
count = state.executeUpdate(
"INSERT INTO Sampl_teble(agi, name) VALUES('01', sonota)");
//影響レコード数出力
System.out.println(count);
}
finally
{
//ステートメントを閉じる
if(state != null)
{
try
{
state.close();
}
catch (Exception e)
{
//このエラー処理は「state.close」でエラーが発生した場合でも
//下記処理が実行される為に記述しています。
}
}
//コネクションを閉じる
if(conn != null)
{
conn.close();
}
}
}
}
補足
ご回答ありがとうございます。 動的に増やすのはできないみたいなので、textbox二つなら2列DBにINSERTしようと思います。 もう一度質問出させていただきますので、よろしければご覧ください。