今天学习用Sqlite结果总出错:no such table: MyFriendInfo
翻译一下就是:没有找到MyFriendInfo表。
怎么会这样呢?在数据库里面明明有表的。
调试和查看原文件各级目录发现:
当Sqlite找不到相关的表的时候会自动创建。这下可明白了。问题出在路径上。
我在App.Config文件中是这样写的
<appSettings> <add key="SqlConfiguration" value="Data Source= |DataDirectory|\MyFriendList.sqlite; Integrated Security='True'"/> </appSettings>
|DataDirectory| 的作用是定位到App_Data文件夹下面,源程序则是生成在\bin\Debug\目录下面,结果在Debug目录下面发现了Sqlite自动生成的数据库。这下明白了。不过在做WINFORM程序的时候如果还要安装,那数据库路径在Config文件中是不能写死的。放在Debug目录下面应该是一个解决办法吧。
如果是WEB应用程序这个问题就好解决了。