关于 sqlite error no such table 错误的解决办法
今天开始尝试为“星际 2 客户端切换器”添加 Win7 下的 JumpList 功能,如图:
这样可以在任务栏和开始菜单中快速启动相应的客户端,而不需要启动软件。
在测试过程中遇到一个错误,sqlite error no such table…
,百思不得其解,一直以为是由于 JumpList 在未启动程序的情况下调用程序内的方法导致数据库没有加载的问题,但后来始终没有弄明白,一直在搜索关于 JumpList 调用的问题。后来干脆直接搜 sqlite error no such table
的错误原因,才发现问题所在。我的数据库调用使用的是相对地址:
SQLiteConnection conn = new SQLiteConnection("Data Source = settings.db;");
在直接打开软件是没有任何问题的,但是通过 JumpList 调用的话,我怀疑启动的位置不一样,所以导致找不到数据库,于是换成:
SQLiteConnection conn = new SQLiteConnection(@"Data Source =" + System.Windows.Forms.Application.StartupPath + "\\settings.db;");
问题搞定!
今后数据库文件还是用绝对位置比较妥当。
评论区