1

我正在将我的 wp8 应用程序(使用 SQL Server CE 数据库)转换为 wp8.1RT 应用程序(使用 SQLite 数据库)。我在下面的代码中收到错误“数据库已锁定”。

有时我在检索客户表信息时遇到错误,有时在删除它时。

我正在使用不同的后台工作人员,可能是因为该数据库已锁定。

谁能告诉我如何解决这个数据库锁定问题?

我是否必须添加任何额外的代码或设置?

    public ObservableCollection<CustomerTable> RetreiveCheckedCustomer(long customerId)
    {
        var list = new ObservableCollection<CustomerTable>();
        using (SQLiteConnection databasemodel = new SQLiteConnection(App.DB_PATH))
        {
            list = new ObservableCollection<CustomerTable>(from item in databasemodel.Table<CustomerTable>() where item.CHECKED == true select item);
            var list2 = new ObservableCollection<LocationTable>(databasemodel.Table<LocationTable>());
            foreach (var item in list2)
            {
                databasemodel.Delete(item);
            }
        }
        return list;
    }
4

2 回答 2

0

根本无法将 wp8 SQL Server CE 数据库转换为 8.1 的 SQLite 数据库。几个月前面临同样的问题,请参阅我的帖子here

于 2015-08-14T08:22:59.550 回答
0

我使用以下行来解决数据库锁定问题。

SQLite3.Config(SQLiteConfigOption.MultiThread);

之后,我通过应用程序使用单个 SQLite 连接来解决数据库繁忙问题,

于 2015-09-02T12:25:36.583 回答