0
java.sql.SQLException:パラメータインデックスが範囲外です(1>パラメータ数、0)。jspでのmysqlの更新に関する準備済みの文の使用
私はjspを使って動的Webプロジェクトを試しています。PreparedStatmentオブジェクトでmysqlデータベースを更新しようとすると、この例外が発生します。多くのスレッドでは、使用していないことを意味しています索引は「?」を参照するインデックスですが、これは私の場合ではないと思います。これは愚かな質問ではないと思いますが、私はエラーを見つけることができません。ここ
は、コードは次のとおりです。
package classes;
import java.sql.DriverManager;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.PreparedStatement;
public class DataUser {
private String username;
private String name;
private String surname;
private String email;
private String wallet;
private String password;
private String coin;
private Connection conexion;
private PreparedStatement preparedSt;
public DataUser(String username, String name, String surname, String email, String wallet, String password, String coin) throws ClassNotFoundException{
this.username = username;
this.name = name;
this.surname = surname;
this.email = email;
this.wallet = wallet;
this.password = password;
this.coin = coin;
Class.forName("com.mysql.jdbc.Driver");
try {
this.conexion = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/pruebajsp", "root", "");
this.preparedSt = (PreparedStatement) conexion.prepareStatement("INSERT INTO USERS (USERNAME, NAME, SURNAME, EMAIL, WALLET, PASSWORD, INVESTMENT_COIN) VALUES ('?', '?', '?', '?', '?', '?', '?')");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getWallet() {
return wallet;
}
public void setWallet(String wallet) {
this.wallet = wallet;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getCoin() {
return coin;
}
public void setCoin(String coin) {
this.coin = coin;
}
@Override
public String toString() {
return "DataUser [username=" + username + ", name=" + name + ", surname=" + surname + ", email=" + email
+ ", wallet=" + wallet + ", password=" + password + ", coin=" + coin + "]";
}
public void updateDB(){
try{
this.preparedSt.setString(1, this.username);
this.preparedSt.setString(2, this.name);
this.preparedSt.setString(3, this.surname);
this.preparedSt.setString(4, this.email);
this.preparedSt.setString(5, this.wallet);
this.preparedSt.setString(6, this.password);
this.preparedSt.setString(7, this.coin);
this.preparedSt.executeUpdate();
}catch(SQLException e){
e.printStackTrace();
}
}
}
私はJSPファイルで行うことである。
<%
DataUser user = new DataUser(request.getParameter("username"), request.getParameter("name"), request.getParameter("surname"),
request.getParameter("email"), request.getParameter("wallet"), request.getParameter("password"),
request.getParameter("coin"));
user.updateDB();
%>
事前にお願いします。
OMGこれはちょうど愚かなエラーでした、ありがとう、あなたの時間の無駄にごめんなさいD: –