発生している問題・エラーメッセージ
データベースから削除しようとすると、
型の不一致Stringからintには変換できません
と出てくる。
削除したいidの数値は正しく受け渡されていることが、確認できている。
該当のソースコード
public class politicians { private String idpoliticians; private String name; // DB関連の初期設定 private Connection conn = null; private PreparedStatement pstmt = null; private DataSource ds = null; // コンストラクタ public politicians(HttpServletRequest request) { setIdpoliticians(request.getParameter("idpoliticians")); setName(request.getParameter("name")); } // データベースへのアクション private void doDataBase(String sql) throws Exception { // コンテキストを取得 InitialContext ic = new InitialContext(); // ルックアップしてデータソースを取得 ds = (DataSource) ic.lookup("java:comp/env/jdbc/politicians"); conn = ds.getConnection(); // sql文を表示 System.out.println(sql); pstmt = conn.prepareStatement(sql); // sql文実行 pstmt.execute(); // 使用したオブジェクトを終了させる pstmt.close(); conn.close(); } public String getIdpoliticians() { return idpoliticians; } public void setIdpoliticians(String idpoliticians) { this.idpoliticians = idpoliticians; } //autoincrementだからセットすることはない!? public String getName() { return name; } public void setName(String name) { this.name = name; } public Boolean addData() { try { // sql文 の作成 String sql = "insert into politicians( name) values ('" + name + "')"; // データベース接続&sqlの実行 doDataBase(sql); return true; } catch (Exception e) { e.printStackTrace(); return false; } } //削除 public Boolean deleteData() { try { // sql文 の作成 String sql = "delete from politicians where idpoliticians=" + idpoliticians; // データベース接続&sqlの実行 doDataBase(sql); return true; } catch (Exception e) { e.printStackTrace(); return false; } } }
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。