无法插入数据java mysql [关闭]
Posted
技术标签:
【中文标题】无法插入数据java mysql [关闭]【英文标题】:Can't insert data java mysql [closed] 【发布时间】:2021-01-08 13:09:29 【问题描述】:我有一个问题,我无法将数据插入我使用 Java 和 mysql 的数据库中
try
String query1 = "insert into Client(Codecli,Nom,Ville,Datenais,Solde,Password) values(?,?,?,?,?,?)";
PreparedStatement statement = connection.prepareStatement(query1);
statement.setString(1, num.getText());
statement.setString(2, nomField.getText());
statement.setString(3, villeField.getText());
statement.setDate(4, null);
statement.setDouble(5, 0.0);
statement.setString(6, passwordField.getText());
statement.executeUpdate(query1);
connection.close();
catch (Exception e)
e.printStackTrace();
显示这个错误
java.sql.SQLException: Parameter index out of range (2 > number of parameters, which is 1).
【问题讨论】:
statement.executeUpdate(query1);
错误,请参阅文档;必须有不带参数执行的方法
谢谢!我删除了参数并且它起作用了
【参考方案1】:
// prepared statements must be closed, so use a try-with-resources (or a try / catch / finally)
// connection should not be closed in the try block because throwing an exception will leave it open.
try (PreparedStatement statement = connection.prepareStatement(query1);connection)
statement.setString(1, num.getText());
statement.setString(2, nomField.getText());
statement.setString(3, villeField.getText());
statement.setDate(4, null);
statement.setDouble(5, 0.0);
statement.setString(6, passwordField.getText());
// no parameters in executeUpdate() (your original problem)
int result = statement.executeQuery();
// returns the number of rows affected --- so a 0 = didn't work
catch (Exception ex)
ex.printStackTrace();
完整的免责声明 - 我没有测试此代码,但我 99% 确定如果您进行这些更改,它会起作用。
【讨论】:
谢谢!我刚刚删除了 executeUpdate 中的参数,它起作用了以上是关于无法插入数据java mysql [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
java - 如何使用rmi在java中的mysql(jdbc)中插入一条记录? [关闭]
试图在php MYSQL中将数据从一个表插入另一个表[关闭]