gpt4 book ai didi

c# - 向Sqlite数据库中插入大量记录

转载 作者:行者123 更新时间:2023-11-30 22:17:04 25 4
gpt4 key购买 nike

在我的 Windows 8 Metro 应用程序中,我在 SQLite 数据库中有一个表,有时必须使用大量记录(大约 500 到 600)进行更新。我从 Web 服务获取记录,然后遍历记录并将它们插入到表中。问题在于此操作大约需要 10 到 15 秒,并且它会锁定包括进度条在内的 UI。代码如下。

await this.Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
{
foreach (var item in body3)
{
db.Insert(new Site
{
siteName = item.siteName,
siteAddress = item.siteAddress,
siteCity = item.siteCity,
siteState = item.siteState,
siteID = item.siteID
});
progressBar.Value = i;
i++;
}
});

我认为这是 SQLite 的问题。我似乎也无法从中捕捉到异常。

我认为我真正的问题是如何让它在另一个线程中正确运行,这样它就不会影响 UI。我并不担心插入记录需要一段时间。我只希望 UI 保持响应。

最佳答案

--不要从循环中的每个插入更新您的 UI...如果需要的话,可能每 20% 更新一次

--使用事务-- http://www.sqlite.org/faq.html #19在这里 Improve INSERT-per-second performance of SQLite?

关于c# - 向Sqlite数据库中插入大量记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16972580/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com