只是想知道是否可以取消或停止选择语句?
我有一个带有 sap ultralite 数据库的应用程序。数据库连接和语句在单例中处理。
我有一个ViewController
在后台启动繁重操作的地方READ
,有时需要 2-3 秒。同时ViewController
,您可以更改一些值并使用 - 操作将其保存WRITE
,从而消除ViewController
.
我的问题是,如果我真的很快和/或 -READ
操作非常慢,我的 ViewController 不会被解雇,因为该WRITE
操作正在等待 - 操作结束READ
。所以 UI 冻结了几秒钟。
由于我的谷歌搜索技能或糟糕的 Ultralite 文档,有谁知道,我怎样才能取消当前正在进行的SELECT
声明?(结果不再重要,因为 View 将被解雇)或者我怎样才能同时允许多个语句?READ
和操作使用不同的WRITE
表,如果这很重要的话
编辑:(总结问题)
- 是否可以
READ
同时WRITE
使用ultralite? - 如果没有,还有其他解决方案吗?(目前我们正在测试复制数据库)
更新(详细): 好吧,我们找到了解决方法,但这并不能回答问题。
我们有一个带有ShoppingCard ListView
的应用程序(项目存储在 ultralite 数据库中)。Freeform-ViewController
在此视图中,您可以更改显示一些统计数据的项目(更改发货日期、数量...)。
统计数据是繁重的READ
操作,有时最多需要五秒钟。因此,例如,如果您更改项目的数量并按下DONE
按钮,则Freeform-ViewController
启动WRITE
- 操作(更新),被解除并更新 ShoppingCard(再次READ
到数据库以获取更改)。
最后一点是坏事,但我们为 实现了一个完成处理程序FreeformVC
,它只更新一个项目而不是READ
数据库中的整个购物卡。这似乎可行,但是,它不是最好的解决方案。如果你点击的速度真的很快,如果你想再次从数据库中读取,你有时会感到延迟,所以问题仍然存在......