【发布时间】:2011-03-09 04:30:59
【问题描述】:
假设我运行了一些查询并获得了一个游标,我想用它来更新数据库中的条目。如果在游标未关闭时更新数据库会发生什么?例如,假设光标指向结果集中的第一个条目,我运行一个更新第 10 个元素的查询。当前光标是否反映了这些变化?
【问题讨论】:
假设我运行了一些查询并获得了一个游标,我想用它来更新数据库中的条目。如果在游标未关闭时更新数据库会发生什么?例如,假设光标指向结果集中的第一个条目,我运行一个更新第 10 个元素的查询。当前光标是否反映了这些变化?
【问题讨论】:
您需要调用cursor.requery() 才能从数据库重新加载更改。
【讨论】:
游标是内存中结果的副本,所以可以随意修改数据库。由于它是副本,因此不会反映任何更改 - 您需要重新查询。
但是,您绝对必须尽快关闭它,以节省内存并使您的应用在切换 Activity 时不会崩溃。
【讨论】: