SQLiteDatabase.BeginTransactionReadOnly 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 DEFERRED 模式下开始事务,该事务是只读的特定于 android 的约束。
[Android.Runtime.Register("beginTransactionReadOnly", "()V", "GetBeginTransactionReadOnlyHandler", ApiSince=35)]
public virtual void BeginTransactionReadOnly();
[<Android.Runtime.Register("beginTransactionReadOnly", "()V", "GetBeginTransactionReadOnlyHandler", ApiSince=35)>]
abstract member BeginTransactionReadOnly : unit -> unit
override this.BeginTransactionReadOnly : unit -> unit
- 属性
注解
在 DEFERRED 模式下开始事务,该事务是只读的特定于 android 的约束。 数据库可能不会在只读事务中修改。
只读事务可以与其他只读事务同时运行,如果数据库处于 WAL 模式,则它们也可能同时与 IMMEDIATE 或 EXCLUSIVE 事务一起运行。
temp架构可以在只读事务期间修改;如果事务是#setTransactionSuccessful,对临时表的修改可能对某些后续事务可见。
事务可以嵌套。 但是,嵌套事务不会改变事务的行为。 嵌套事务可以是三种事务类型中的任何一种,但如果最外部的类型是只读的,则嵌套事务将保持只读状态,而不管它们是如何启动的。
下面是只读事务的标准成语:
db.beginTransactionReadOnly();
try {
...
} finally {
db.endTransaction();
}
Java文档android.database.sqlite.SQLiteDatabase.beginTransactionReadOnly()。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。