1

我正在为我的 Windows Store 应用程序使用 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();
        }

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

4

1 回答 1

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();&db.Close();因为您正在使用using.

于 2013-07-30T11:09:49.777 回答