Closed MaxLong2001 closed 3 years ago
在使用C#操作SQLite数据库时,第一层级打开的窗口可以正常对数据库进行操作,而第二层级的窗口就只能访问数据库但不能进行添加、修改、删除等操作,程序会卡住很久然后弹出错误结果(和预期结果不同,并不是编译报错)。
具体来说,如果直接访问 AdminManagementForm 窗体,则可以正常以管理员身份操作数据库;而如果是从 Login 窗体通过登录进入 AdminManagementForm 窗体,则无法正常对数据库进行修改(例如在正常修改图书信息时程序会卡住很久之后弹出异常处理中的“修改图书出错”)。
下方云盘链接中有简单的bug演示视频和程序源码,求解答,非常感谢! https://bhpan.buaa.edu.cn:443/link/6810239C3A935A40AC39B04A4C5E7DFA
程序中部分功能及界面还在完善,可能还会有其他小问题
错误信息是 database is locked,原因是SQLite同步问题导致出错,即存在未关闭的读写进程 Login.cs文件
dc.Close(); // 缺失该行 dbLink.close();
ps:演示视频选择录屏的窗口错了
解决啦,感谢助教!
在使用C#操作SQLite数据库时,第一层级打开的窗口可以正常对数据库进行操作,而第二层级的窗口就只能访问数据库但不能进行添加、修改、删除等操作,程序会卡住很久然后弹出错误结果(和预期结果不同,并不是编译报错)。
具体来说,如果直接访问 AdminManagementForm 窗体,则可以正常以管理员身份操作数据库;而如果是从 Login 窗体通过登录进入 AdminManagementForm 窗体,则无法正常对数据库进行修改(例如在正常修改图书信息时程序会卡住很久之后弹出异常处理中的“修改图书出错”)。
下方云盘链接中有简单的bug演示视频和程序源码,求解答,非常感谢! https://bhpan.buaa.edu.cn:443/link/6810239C3A935A40AC39B04A4C5E7DFA
程序中部分功能及界面还在完善,可能还会有其他小问题