我有一个Windows Phone应用程序,我正在尝试连接到数据库。数据库有效,我已经验证。我正在使用codeplex的sqlite客户端尝试连接。
首先,我使用“> add> Existing item>”将我的数据库添加到我的项目中然后我尝试使用代码进行连接:
db = new SQLiteConnection(@"Database.db");
db.Open();
Debug.WriteLine("DB opened");
SQLiteCommand cmd = db.CreateCommand("SELECT * FROM Tags");
var lst = cmd.ExecuteQuery<Tags>();
foreach (Tags r in lst)
{
Debug.WriteLine(r.Tag);
}
Debug.WriteLine(":D");
我的Tags类看起来像这样:
public class Tags
{
public int id { get; set; }
public string Tag { get; set; }
}
我在sqlite项目中遇到错误(在Sqlite3.Vdbe Prepare()
中),说有no such table:Tags
。该表在那里,我查看了数据库,表的名称是正确的。
我做错了什么?
答案 0 :(得分:0)
尝试提供完整路径而不仅仅是文件名。我相信Windows手机没有“当前目录”,因此应用程序可能会查找根文件夹。
如果您提供SQLite客户端不存在的文件,它将为您静默创建一个空数据库并“连接”到该数据库。
答案 1 :(得分:0)
我发现我的数据库必须在IsolatedStorage中。以下是我发现有用http://dotnetslackers.com/articles/silverlight/Windows-Phone-7-Native-Database-Programming-via-Sqlite-Client-for-Windows-Phone.aspx
的示例