Android如何在查询执行时关闭db

时间:2011-06-28 05:54:14

标签: android

我有一个websearch和数据库搜索,这可以同时完成,在db搜索中使用db cursor设置结果,也可以使搜索速度更快我在OnCreate()中打开db并在onPause中关闭它,websearch和dbsearch都在单独的异步任务中运行,当websearch结果出现时,我开始新的活动,如果db查询仍在执行,则无法关闭db,如何在这种情况下关闭db,请帮帮我

我得到以下的例外

android.database.sqlite.SQLiteException:由于未定义的语句而无法关闭

3 个答案:

答案 0 :(得分:0)

您可以在单独的线程中编写DB操作,并在线程执行完成后启动结果活动。

答案 1 :(得分:0)

您无法强行关闭数据库。

您需要关闭在该数据库上运行的不同查询的所有游标。

由于您的查询是在单独的ASyncTask中运行的,因此您需要跟踪它们并cancel它们(您可以在onCancelled回调函数中关闭游标)

答案 2 :(得分:0)

我在我的应用程序类中打开了数据库并解决了我的问题