我无法运行代码。每当我输入用户信息以注册用户时,我都会收到错误消息:
java.sql.SQLException: database is locked
答案 0 :(得分:0)
错误很可能是由于您已启动的操作不完整而未在数据库的其他位置完成,例如您尚未提交的事务。你应该关闭所有资源。某个地方没有正确关闭,导致锁定继续。
答案 1 :(得分:0)
query()方法的结果 - 结果集 - 永远不会关闭。
告诉您使用哪个数据库很有帮助,因为它们有不同的处理锁的方法。
此外,您可能希望为每个数据库操作添加简单的调试点,例如“System.out.println”。这有助于您查看最终导致锁定的数据库语句流。
一旦有异常,你应该保留异常调用堆栈。这有助于确定您获得锁定的SQL操作 - 并有助于关注真正的问题。
(我建议考虑使用MVC或轻量级DDD来隔离gui和db代码以保持代码清洁,并且避免从事件处理线程执行任何数据库操作,因为这最终将引入锁定你的gui,一旦你变得像spotify一样大。:))