将 java 个值插入 sqlite 数据库

inserting java values to sqlite database

这是一个 java 向数据库插入值的问题。

我想将数据插入我的数据库,但我收到一个异常 "Query does not return results"。我究竟做错了什么?我应该 return?

这是我的函数代码:

public void commitToDB(String fName) throws SQLException {
    PreparedStatement preparedStatement = null;
    ResultSet resultSet = null;
    String query = "INSERT INTO users (firstname)" + " VALUES (?)";
    try {
        preparedStatement = connection.prepareStatement(query);
        preparedStatement.setString(1, fName);

        // execute the preparedstatement
        resultSet = preparedStatement.executeQuery();
    }
    catch(Exception e) {
        System.out.println("Got an exception");
        System.out.println(e.getMessage());           
    }
    finally {
        preparedStatement.close();
        resultSet.close();
    }
}   

executeQuery 适用于 select 语句 对于 insert/update,您应该使用 executeUpdate。此方法 returns int(记录数 inserted/updated)

您想执行一个更新语句(不是 return ResultSet 的语句),但您正试图将其作为查询执行。当我第一次在 Java 中使用数据库驱动程序时,我也犯了这个错误。

你想做的是改变:

resultSet = preparedStatement.executeQuery();

对此:

preparedStatement.execute();