Windows Phone 8中的Sqlite错误 - 缺少tracker.exe和Winmd文件

时间:2013-06-24 15:27:27

标签: .net database sqlite windows-phone-7 windows-phone-8

我正在使用Windows Phone 8应用程序,我需要将其与Sqlite数据库连接。我正在关注链接下面的教程。 http://www.developer.nokia.com/Community/Wiki/How_to_use_SQLite_in_Windows_Phone

我收到错误,因为“tracker.exe丢失且无法找到Sqlite.winmd”。我错过了什么吗?为什么我收到此错误。在连接Sqlite和Windows Phone时,也接受任何良好的链接以及清晰的描述。提前致谢。 enter image description here

2 个答案:

答案 0 :(得分:1)

在您的项目中从Manage NuGet包添加sqlite-net,您可以在项目中看到Sqlite.cs和SqliteAsync.cs文件。

第1步:创建一个类,这个类在数据库中称为表。

    class TableName
    {
        [PrimaryKey, AutoIncrement]
        public int IndexNo { get; set; }
        public String Name { get; set; }
        public String User { get; set; }
        public String LastEdit { get; set; }
    }

步骤2:创建数据库文件,将其与SQliteConnection和Create Table连接

    private async void CreateDatabase()
    {
        bool isDatabaseExisting = false;
        //Checking if database already exists
        try
        {
            Windows.Storage.StorageFile storagefile = await Windows.Storage.ApplicationData.Current.LocalFolder.GetFileAsync("Database.sqlite");
            isDatabaseExisting = true;
        }
        catch
        {
            isDatabaseExisting = false;
        }
        //if not exists then creating database
        if (!isDatabaseExisting)
        {
            String str = System.IO.Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Database.sqlite");
            SQLiteConnection conn = new SQLiteConnection(str);
            conn.CreateTable<TableName>();

        }
    }

第3步:执行查询

  1. 插入值

    conn.Execute("insert into TableName(Name,User,LastEdit) values(?,?,?)",val1, val2, val3);
    
  2. 获取数据库

  3. 使用所有数据

        var result = conn.Table<TableName>().ToList();
    

    使用

    获取一些相关数据
        var result = conn.Table<TableName>().Where(x => x.User == "abc").ToList();
        foreach (var item in result)
        {
          var name=item.Name;
          var user=item.User;
        }
    

    请记住,只要您想执行影响数据库使用conn.Execute语句的查询,并且当您想从数据库获取值时,您应该使用conn.Table查询以方便。您将在SQlite Library中获得更多方法。 还记得使用SQlite;

    有关详细信息或样本Visit Here

    祝你好运

答案 1 :(得分:0)

为什么不使用sqlite-net version 1.0.7

enter image description here