質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

0回答

2790閲覧

ServletにてUPDATE文で値の更新ができない

ggpw012857

総合スコア7

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

servlet

Servletとは、Webページの動的な生成やデータ処理などをサーバ上で実行するために、Javaで作成されたプログラムです。 ショッピングサイトやオンラインバンキングといった、動的なウェブサイトの構築に用いられています。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2017/10/19 04:39

編集2017/10/19 04:49

研修でjavaを勉強しています。
JSPで入力した複数の値をUPDATE文でDBに更新したいのですが、下記のソースでは全く値が変わりません。
イメージとしては12カ月分の値を4月から順番にDBにアップデートしていきたいです。
エラーメッセージも出なくて困っています。
どうかご教授頂けないでしょうか。
よろしくお願いします。
###発生している問題・エラーメッセージ
なし

###該当のソースコード

java

1package servlet; 2 3import java.io.IOException; 4import java.sql.Connection; 5import java.sql.DriverManager; 6import java.sql.SQLException; 7import java.sql.Statement; 8import java.util.stream.Stream; 9 10import javax.servlet.RequestDispatcher; 11import javax.servlet.ServletException; 12import javax.servlet.annotation.WebServlet; 13import javax.servlet.http.HttpServlet; 14import javax.servlet.http.HttpServletRequest; 15import javax.servlet.http.HttpServletResponse; 16 17/** 18 * Servlet implementation class Result 19 */ 20@WebServlet("/Test") 21public class Confirm extends HttpServlet { 22 private static final long serialVersionUID = 1L; 23 24 /** 25 * @see HttpServlet#HttpServlet() 26 */ 27 public Confirm() { 28 super(); 29 // TODO Auto-generated constructor stub 30 } 31 32 /** 33 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse 34 * response) 35 */ 36 protected void doGet(HttpServletRequest request, HttpServletResponse response) 37 throws ServletException, IOException { 38 // TODO Auto-generated method stub 39 response.getWriter().append("Served at: ").append(request.getContextPath()); 40 } 41 42 /** 43 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse 44 * response) 45 */ 46 protected void doPost(HttpServletRequest request, HttpServletResponse response) 47 throws ServletException, IOException { 48 49 String test1[] = request.getParameterValues("test1"); 50 int test1[] = Stream.of(test1).mapToInt(Integer::parseInt).toArray(); 51 String test2[] = request.getParameterValues("test2"); 52 int test2[] = Stream.of(test2).mapToInt(Integer::parseInt).toArray(); 53 String test3[] = request.getParameterValues("test3"); 54 int test3[] = Stream.of(test3).mapToInt(Integer::parseInt).toArray(); 55 String test4[] = request.getParameterValues("test4"); 56 int test4[] = Stream.of(test4).mapToInt(Integer::parseInt).toArray(); 57 String test5[] = request.getParameterValues("test5"); 58 int test5[] = Stream.of(test5).mapToInt(Integer::parseInt).toArray(); 59 String test6[] = request.getParameterValues("test6"); 60 int test6[] = Stream.of(test6).mapToInt(Integer::parseInt).toArray(); 61 62 try { 63 String DRIVER_NAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; 64 String JDBC_URL = "jdbc:sqlserver://localhost:1433;DatabaseName=testSUM"; 65 String DB_USER = "sa"; 66 String DB_PASS = ""; 67 Connection conn = null; 68 Class.forName(DRIVER_NAME); 69 70 conn = DriverManager.getConnection(JDBC_URL, DB_USER, DB_PASS); 71 72 String[] month = { "04", "05", "06", "07", "08", "09", "10", "11", "12", "01", "02", "03" }; 73 for (int i = 0; i < month.length; i++) { 74 String sql = "update TEST set " + "test1='" + test1[i] + "', " + "test2='" + test2[i] 75 + "', " + "test3='" + test3[i] + "', " + "test4='" + test4[i] + "', " 76 + "test5='" + test5[i] + "', " + "test6='" + test6[i] + "' " 77 + "where YM BETWEEN '2016-04-01' AND '2017-03-01' AND ID = 5100"; 78 79 Statement stmt = conn.createStatement(); 80 stmt.executeUpdate(sql); 81 } 82 83 RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/jsp/5100.jsp"); 84 dispatcher.forward(request, response); 85 86 } catch ( 87 88 SQLException e) { 89 e.printStackTrace(); 90 } catch (ClassNotFoundException e) { 91 e.printStackTrace(); 92 } 93 } 94} 95

###試したこと

###補足情報(言語/FW/ツール等のバージョンなど)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Clor

2017/10/19 04:42

コードはコードタグで囲ってください
ggpw012857

2017/10/19 04:46

申し訳ございません。修正いたします。
tkturbo

2017/10/19 04:55

doPostに更新処理が書いてあるが、doGetに更新処理がない。method=postで正しくアクセスしてますか?
ggpw012857

2017/10/19 04:58

今のところdoGetは使用していません。method=postで正しくアクセスは出来ています。
tkturbo

2017/10/19 05:46

ではこのServletにアクセスするためのページがあるはずです。そちらもソースコード追加してみてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問