无法插入数据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)中插入一条记录? [关闭]

通过Java在间隔后将数据插入数据库[关闭]

试图在php MYSQL中将数据从一个表插入另一个表[关闭]

用java将数据插入mySQL表

java对mysql进行批处理插入数据,如何返回错误的没插入数据

MySQL帮助:将数据插入两个表[关闭]