研修で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/ツール等のバージョンなど)
あなたの回答
tips
プレビュー