言語

SQLiteDatabase.BeginTransactionReadOnly メソッド

定義

トランザクションが読み取り専用であるという android 固有の制約を使用して、DEFERRED モードでトランザクションを開始します。

[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
属性

注釈

トランザクションが読み取り専用であるという android 固有の制約を使用して、DEFERRED モードでトランザクションを開始します。 読み取り専用トランザクション内でデータベースを変更することはできません。

読み取り専用トランザクションは、他の読み取り専用トランザクションと同時に実行できます。また、データベースが WAL モードの場合は、IMMEDIATE または EXCLUSIVE トランザクションと同時に実行することもできます。 temp スキーマは、読み取り専用トランザクション中に変更される可能性があります。トランザクションが#setTransactionSuccessfulされている場合は、一時テーブルに対する変更が後続のトランザクションに表示される可能性があります。

トランザクションは入れ子にすることができます。 ただし、トランザクションの動作は、入れ子になったトランザクションによって変更されません。 入れ子になったトランザクションは、3 つのトランザクションの種類のいずれかになりますが、最も外側の種類が読み取り専用の場合、入れ子になったトランザクションは開始方法に関係なく読み取り専用のままになります。

読み取り専用トランザクションの標準的なイディオムを次に示します。

db.beginTransactionReadOnly();
              try {
                ...
              } finally {
                db.endTransaction();
              }

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象