Java 参数索引超出范围(1>;参数数,即0)。如何解决?
我无法将数据从java插入数据库 这是sql and语句Java 参数索引超出范围(1>;参数数,即0)。如何解决?,java,netbeans,Java,Netbeans,我无法将数据从java插入数据库 这是sql and语句 //query String username = txtUsername.getText(); String password = txtPassword.getText(); String namabisnis = txtBisnis.getText(); String sql = "insert into user (username,password,namabisnis) values('?','?','?')"; try
//query
String username = txtUsername.getText();
String password = txtPassword.getText();
String namabisnis = txtBisnis.getText();
String sql = "insert into user (username,password,namabisnis) values('?','?','?')";
try {
preparedStatement = con.prepareStatement(sql);
preparedStatement.setString(1, username);
preparedStatement.setString(2, password);
preparedStatement.setString(3, namabisnis);
int masuk = preparedStatement.executeUpdate(sql);
lblerror.setTextFill(Color.TOMATO);
lblerror.setText("Akun Anda Sudah Didaftarkan, Silahkan Login");
} catch (SQLException ex) {
System.err.println(ex.getMessage());
//return "Exception";
lblerror.setTextFill(Color.TOMATO);
lblerror.setText("Error Saat Mendaftarkan Akun");
}
我得到以下错误:
参数索引超出范围(1>参数数,为0)
这是如何导致的,我如何解决它?从查询中删除单引号(
?”
⇒ <代码>?):
我再次遇到以下错误:您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的“?,?,?)”附近使用的正确语法 这是因为您需要在不带参数的情况下调用
executeUpdate()
。传入查询将使其在没有绑定的情况下执行(引号不会被替换)
改为不带参数调用它:
int masuk = preparedStatement.executeUpdate();
从查询中删除单引号(
?”
⇒ <代码>?):
我再次遇到以下错误:您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的“?,?,?)”附近使用的正确语法 这是因为您需要在不带参数的情况下调用
executeUpdate()
。传入查询将使其在没有绑定的情况下执行(引号不会被替换)
改为不带参数调用它:
int masuk = preparedStatement.executeUpdate();
我再次遇到以下错误:您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的“?,?,?)”附近使用的正确语法。如果您的SQL语法有错误,则再次出现以下错误;检查与您的MariaDB服务器版本相对应的手册,以了解在第1行的“?,?,?)”附近使用的正确语法