将 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();
这是一个 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();