我有一个通过JDBC连接到我的Java项目的SQLite数据库。我可以轻松读取所有数据并向数据库中添加新用户,但是当我执行准备好的语句时,我得到一个SQLexeption。在以调试模式运行程序并将断点设置为带有prepared语句的行之后,它可以毫无问题地完成任务。
我尝试切换代码,所有其他语句都起作用,例如INSERT或SELECT。只有UPDATE(任何形式的)无效。我试图在sql命令行中执行该语句,并且该语句有效,所以没有问题。
public void makeReq(int type,String SPZ){
String sql = "UPDATE users "
+ "SET req = ? "
+ "WHERE SPZ = ?";
try {
conn = DriverManager.getConnection("jdbc:sqlite:users.db");
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, type);
pstmt.setString(2, SPZ);
int rowAffected = pstmt.executeUpdate();
} catch (SQLException e) {
System.out.println("FATAL ERROR: couldn't connect to the USERS database");
}
}
我希望它执行并更新所选表(用户)。
谢谢您的帮助。
答案 0 :(得分:0)
找到答案:我在项目的其他位置打开了数据库,我想删除它,但没有删除。