お世話になります。JAVA初学者のものです。
現在ECLIPSEからMySQLへのINSERT文を実行したく試行錯誤しているのですが、
コード含めどうすれば良いのか分からないため質問をさせて頂ければ幸いです。
現在WEBアプリ上で入力された値をInsert_ServletでString型で受け取っており、
本来getParameterで受け取ったString型birthは登録先のSQLではDate型なため、java.sql.DateのvalueOfを使ってDate型に変換し、受け取った全ての値をUserBeanクラスにセット。
その後Daoの方でUserBeanクラスをインスタンス化し、実際にSQL分に値を詰めて実行。
…とこれでうまくいくかなと思っていたのですが、画像のようなエラーが出てしまいまして…
どうすればこのエラーを回避してINSERTを実行できるのか、
また、別でおかしい部分がありましたらご教示頂ければ幸いです。
どうかよろしくお願いいたします。
**「①Insert_Servlet」** protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); String loginId = request.getParameter("login_id"); String password = request.getParameter("login_password"); String userName = request.getParameter("login_username"); String birth = request.getParameter("login_birth"); Date sqlDate= Date.valueOf("birth"); UserBean ub = new UserBean(); ub.setLoginId(loginId); ub.setPassword(password); ub.setName(userName); ub.setBirthDate(sqlDate); } } **「②Insertを実行するDaoのコード」** public void addInfo() { UserBean ub = new UserBean(); Connection conn = null; PreparedStatement ps = null; try { conn = DBManager.getConnection(); String sql = "INSERT INTO UserManagement.user(login_id,name,birth_date,password)VALUES(?,'?','?','?')"; ps.setString(1, ub.getLoginId()); ps.setString(2, ub.getPassword()); ps.setDate(3, (Date) ub.getBirthDate()); ps.setString(4, ub.getName()); ps.executeUpdate(); return; } catch (SQLException e) { e.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { e.printStackTrace(); } } } return; } **「③付随するbeanのコード」** package model; import java.io.Serializable; import java.util.Date; public class UserBean implements Serializable { private int id; private String loginId; private String name; private Date birthDate; private String password; private String createDate; private String updateDate; public UserBean() { } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getLoginId() { return loginId; } public void setLoginId(String loginId) { this.loginId = loginId; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getBirthDate() { return birthDate; } public void setBirthDate(Date birthDate) { this.birthDate = birthDate; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getCreateDate() { return createDate; } public void setCreateDate(String createDate) { this.createDate = createDate; } public String getUpdateDate() { return updateDate; } public void setUpdateDate(String updateDate) { this.updateDate = updateDate; } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/10/20 00:59