使用C#管理Windows应用商店的SQLite数据库

时间:2013-07-30 10:17:55

标签: c# sqlite windows-8 microsoft-metro windows-store-apps

我正在为我的Windows应用商店应用SQLite数据库。我在MSFT样本和帮助下完成了对数据库使用的要求。博客。现在我想更改/更新数据库文件中的数据..

我的插入代码就像这样..

                   using (var db = new SQLite.SQLiteConnection(dbpath))
                    {
                        db.Insert(new ItemEpub.EpubBookList()
                        {
                            BookName = file.DisplayName,
                            BookPath = file.Path,
                        }
                        );
                        db.Commit();
                        db.Dispose();
                        db.Close();
                    }

我没有得到语法和&有关更新数据库表的任何简单信息。 现在我的代码是:

    StorageFile DataFile = await ApplicationData.Current.LocalFolder.GetFileAsync("Epub.db3");
        using (var db = new SQLite.SQLiteConnection(dbpath))
        {
            db.Update EpubBookList Set
            string sql = UPDATE EpubBookList SET LastVisitedPage = '" + lastVisistedPageIndex + "',";
            db.Dispose();
            db.Close();
        }

可能这段代码看起来很难看,除了这段代码,给我任何关于更新metro应用中退出行的建议

1 个答案:

答案 0 :(得分:1)

要更新现有记录,首先需要通过SQL查询[Query<T>(...)]或Get<T>(...)方法获取该对象。然后更新对象属性并调用Update(...)方法。

using (var db = new SQLite.SQLiteConnection(dbpath))
{
        var objPerson = db.Query<Person>("select * from dbPerson where PersonId = ?", 9);

        /*** or ***/

        var objPerson = db.Get<Person>(9); // Here 9 is primary key value

        /*** update the object ***/

        objPerson.FirstName = "Matt";
        db.Update(objPerson);
}

您不需要致电db.Dispose();&amp; db.Close();,因为您使用的是using