【问题标题】:How to do concurrent read & write on SQLite database?如何在 SQLite 数据库上进行并发读写?
【发布时间】:2013-06-25 10:40:14
【问题描述】:

我正在创建一个 Windows Store 应用程序,它每天从 Web 服务中获取大量数据,然后将数据插入/更新到 SQLite。因此,用户必须等到数据下载到 SQLite 数据库,然后才会被重定向到其他屏幕,该屏幕以用户友好的方式显示下载的数据。

是否可以在后台运行下载和数据库操作并且用户可以使用该应用程序?我试图结合下载和插入操作以及在单页中显示数据的 UI,但我收到错误“数据库已锁定”。如果我的应用程序被暂停,数据库插入/更新和网络服务调用会在后台工作吗?

PS:我正在使用sqlite-net

【问题讨论】:

    标签: sqlite windows-8 windows-runtime microsoft-metro windows-store-apps


    【解决方案1】:

    你可以在一个事务中进行多次插入,就像这样

    using (SQLiteConnection db = new SQLiteConnection("[database path]"))
    {
        db.RunInTransaction(() =>
        {
            db.Insert(MyClass);
        });
    }
    

    这应该可以防止数据库锁定。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-26
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2016-10-16
      相关资源
      最近更新 更多