Язык

SQLiteDatabase.BeginTransactionReadOnly Метод

Определение

Начинает транзакцию в режиме 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, они также могут выполняться параллельно с транзакциями ИНТЕРПРЕТАЦИИ или ЭКСКЛЮЗИВ. Схема temp может быть изменена во время транзакции, доступной только для чтения. Если транзакция имеет #setTransactionSuccessfulзначение, изменения в временных таблицах могут отображаться для некоторых последующих транзакций.

Транзакции могут быть вложенными. Однако поведение транзакции не изменяется вложенными транзакциями. Вложенная транзакция может быть любой из трех типов транзакций, но если внешний тип доступен только для чтения, вложенные транзакции остаются доступны только для чтения независимо от того, как они запускаются.

Ниже приведен стандартный идиом для транзакций только для чтения:

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

Java документации по android.database.sqlite.SQLiteDatabase.beginTransactionReadOnly().

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

Применяется к