0
私が何をしたのか分かりませんが、SQLデータベースの情報を更新したいときにエラーが発生します。エラー:列の位置 '1'が範囲外です。あなたがPreparedStatementを使用しているので、このResultSetの列数が「0」カラムの位置が範囲外にあり、ResultSetが '0'
try
{
String em = EmailField.getText();
String na = NameField.getText();
String su = SurnameField.getText();
String i = IDField.getText();
String ce = CellField.getText();
String query2 = "UPDATE LouwDataBase.Table1Test "
+ "SET Email = "+"'"+em+"'"+" , "
+ "Name = "+"'"+na+"'"+" , "
+ "Surname = "+"'"+su+"'"+" , "
+ "ID = "+"'"+i+"'"+" , "
+ "Cell = "+"'"+ce+"'"
+ " WHERE Email = "+"'"+UserEmailID+"'";
conn = DriverManager.getConnection("jdbc:derby://localhost:1527/MyDataBase", "LouwDataBase", "1234");
stat = conn.createStatement();
try (Connection conn = this.connect();
PreparedStatement pstmt = conn.prepareStatement(query2))
{
pstmt.setString(1, em);
pstmt.setString(3, na);
pstmt.setString(4, su);
pstmt.setString(5, i);
pstmt.setString(6, ce);
pstmt.executeUpdate();
}
catch (SQLException e)
{
System.out.println(e.getMessage());
}
}
クエリにはパラメータはありませんが、パラメータに値を設定しています。 –
パラメータはどこに追加しますか? – Swiper
https://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html –