SQLiteDatabase 类

定义

公开用于管理 SQLite 数据库的方法。

[Android.Runtime.Register("android/database/sqlite/SQLiteDatabase", DoNotGenerateAcw=true)]
public class SQLiteDatabase : Android.Database.Sqlite.SQLiteClosable
[<Android.Runtime.Register("android/database/sqlite/SQLiteDatabase", DoNotGenerateAcw=true)>]
type SQLiteDatabase = class
    inherit SQLiteClosable
继承
SQLiteDatabase
属性

注解

公开用于管理 SQLite 数据库的方法。

SQLiteDatabase 具有创建、删除、执行 SQL 命令以及执行其他常见数据库管理任务的方法。

有关创建和管理数据库的示例,请参阅 SDK 中的记事本示例应用程序。

数据库名称在应用程序中必须唯一,而不是在所有应用程序中。

<h3>本地化排序规则 - ORDER BY</h3>

除了 SQLite 的默认 BINARY 排序规则器外,Android 还会再提供两个, LOCALIZED这些排序规则会随系统的当前区域设置而更改, UNICODE而后者是 Unicode 排序规则算法,而不是针对当前区域设置定制的。

适用于 . 的 android.database.sqlite.SQLiteDatabaseJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

构造函数

SQLiteDatabase(IntPtr, JniHandleOwnership)

创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。

字段

ConflictAbort
已过时.

发生约束冲突时,不会执行 ROLLBACK,因此保留同一事务中先前命令的更改。

ConflictFail
已过时.

发生约束冲突时,命令会中止返回代码SQLITE_CONSTRAINT。

ConflictIgnore
已过时.

发生约束冲突时,不会插入或更改包含约束冲突的一行。

ConflictNone
已过时.

如果未指定冲突操作,请使用以下命令。

ConflictReplace
已过时.

发生 UNIQUE 约束冲突时,在插入或更新当前行之前,将删除导致约束冲突的预先存在的行。

ConflictRollback
已过时.

发生约束冲突时,将立即发生 ROLLBACK,从而结束当前事务,并且命令会中止,返回代码为 SQLITE_CONSTRAINT。

JournalModeDelete

DELETE日记模式是正常行为。

JournalModeMemory

MEMORY日记模式将回滚日志存储在可变 RAM 中。

JournalModeOff

OFF日记模式完全禁用回滚日记。

JournalModePersist

PERSIST日记模式可防止在每个事务结束时删除回滚日志。

JournalModeTruncate

TRUNCATE日记模式通过将回滚日志截断为零长度而不是删除事务来提交事务。

JournalModeWal

WAL日记模式使用预写日志而不是回滚日志来实现事务。

MaxSqlCacheSize

可以设置的 #setMaxSqlCacheSize(int)绝对最大值。

SqliteMaxLikePatternLength

SQLite 的默认 LIKE 和 GLOB 实现中使用的模式匹配算法可以表现出 O(N^2) 性能(其中 N 是模式中的字符数),某些病理情况。

SyncModeExtra

同步 EXTRA 模式与同步模式类似 FULL ,添加包含回滚日志的目录在日志取消链接后同步,以在 DELETE 日记模式下提交事务。

SyncModeFull

FULL 同步模式下,SQLite 数据库引擎将使用 VFS 的 xSync 方法来确保在继续之前,所有内容都安全地写入磁盘图面。

SyncModeNormal

同步 NORMAL 模式,SQLite 数据库引擎仍将在最关键时刻同步,但频率低于模式 FULL

SyncModeOff

OFF 同步模式下,SQLite 在将数据移交给操作系统后立即继续不同步。

属性

Class

返回此 Object的运行时类。

(继承自 Object)
Handle

基础 Android 实例的句柄。

(继承自 Object)
IsDatabaseIntegrityOk

对给定数据库(以及所有附加的数据库)运行“杂注integrity_check”,如果给定数据库(及其所有附加数据库)通过integrity_check,则返回 true;否则为 false。

IsDbLockedByCurrentThread

如果当前线程与数据库保持活动连接,则返回 true。

IsDbLockedByOtherThreads
已过时.

始终返回 false。

IsOpen

如果数据库当前处于打开状态,则返回 true。

IsReadOnly

如果数据库以只读的形式打开,则返回 true。

IsWriteAheadLoggingEnabled

如果为此数据库启用了预写日志记录,则返回 true。

JniIdentityHashCode

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
JniPeerMembers

公开用于管理 SQLite 数据库的方法。

MaximumSize

返回数据库可能增长到的最大大小。

PageSize

返回当前数据库页大小(以字节为单位)。 - 或 - 设置数据库页大小。

Path

获取数据库文件的路径。

PeerReference

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
SyncedTables
已过时.

已弃用。

ThresholdClass

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

ThresholdType

此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。

Version

获取数据库版本。 - 或 - 设置数据库版本。

方法

AcquireReference()

获取对对象的引用。

(继承自 SQLiteClosable)
BeginTransaction()

以 EXCLUSIVE 模式开始事务。

BeginTransactionNonExclusive()

在 IMMEDIATE 模式下开始事务。

BeginTransactionWithListener(ISQLiteTransactionListener)

以 EXCLUSIVE 模式开始事务。

BeginTransactionWithListenerNonExclusive(ISQLiteTransactionListener)

在 IMMEDIATE 模式下开始事务。

Clone()

创建并返回此对象的副本。

(继承自 Object)
Close()

公开用于管理 SQLite 数据库的方法。

CompileStatement(String)

将 SQL 语句编译为可重用的预编译语句对象。

Create(SQLiteDatabase+ICursorFactory)

创建内存支持的 SQLite 数据库。

CreateInMemory(SQLiteDatabase+OpenParams)

创建内存支持的 SQLite 数据库。

Delete(String, String, String[])

用于删除数据库中行的便利方法。

DeleteDatabase(File)

删除数据库,包括其日志文件和其他可能由数据库引擎创建的辅助文件。

DisableWriteAheadLogging()

此方法禁用启用 #enableWriteAheadLogging()的功能。

Dispose()

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
Dispose(Boolean)

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
EnableWriteAheadLogging()

此方法允许从同一数据库上的多个线程并行执行查询。

EndTransaction()

结束事务。

Equals(Object)

指示其他对象是否“等于”此对象。

(继承自 Object)
ExecPerConnectionSQL(String, Object[])

对与此数据库的所有连接执行给定的 SQL 语句。

ExecSQL(String)

执行不是 SELECT 或任何其他返回数据的 SQL 语句的单个 SQL 语句。

ExecSQL(String, Object[])

执行非 SELECT/INSERT/UPDATE/DELETE 的单个 SQL 语句。

FindEditTable(String)

查找可编辑的第一个表的名称。

GetHashCode()

返回对象的哈希代码值。

(继承自 Object)
Insert(String, String, ContentValues)

将行插入数据库中的便利方法。

InsertOrThrow(String, String, ContentValues)

将行插入数据库中的便利方法。

InsertWithOnConflict(String, String, ContentValues, Conflict)

将行插入数据库中的常规方法。

InTransaction()

如果当前线程具有挂起的事务,则返回 true。

JavaFinalize()

当垃圾回收确定不再引用该对象时,由对象上的垃圾回收器调用。

(继承自 Object)
MarkTableSyncable(String, String)
已过时.

将此表标记为可同步。

MarkTableSyncable(String, String, String)
已过时.

将此表标记为可同步,_sync_dirty驻留在另一个表中。

NeedUpgrade(Int32)

如果新版本代码大于当前数据库版本,则返回 true。

Notify()

唤醒正在等待此对象的监视器的单个线程。

(继承自 Object)
NotifyAll()

唤醒正在等待此对象的监视器的所有线程。

(继承自 Object)
OnAllReferencesReleased()

调用或调用对象的最后一次引用时调用 ReleaseReference()Close()

OnAllReferencesReleasedFromContainer()
已过时.

调用对象的最后一个引用释放时调用 #releaseReferenceFromContainer()

(继承自 SQLiteClosable)
OpenDatabase(File, SQLiteDatabase+OpenParams)

根据指定的项打开数据库 OpenParams parameters

OpenDatabase(String, SQLiteDatabase+ICursorFactory, DatabaseOpenFlags)

根据指定的项打开数据库 OpenParams parameters

OpenDatabase(String, SQLiteDatabase+ICursorFactory, DatabaseOpenFlags, IDatabaseErrorHandler)

根据指定的项打开数据库 OpenParams parameters

OpenOrCreateDatabase(File, SQLiteDatabase+ICursorFactory)

等效于 openDatabase(文件)。

OpenOrCreateDatabase(String, SQLiteDatabase+ICursorFactory)

等效于 openDatabase(文件)。

OpenOrCreateDatabase(String, SQLiteDatabase+ICursorFactory, IDatabaseErrorHandler)

等效于 openDatabase(文件)。

Query(Boolean, String, String[], String, String[], String, String, String, String)

查询给定的 URL,返回一个 Cursor 基于结果集的 URL。

Query(Boolean, String, String[], String, String[], String, String, String, String, CancellationSignal)

查询给定的 URL,返回一个 Cursor 基于结果集的 URL。

Query(String, String[], String, String[], String, String, String)

查询给定的表,返回对结果集的一个 Cursor 值。

Query(String, String[], String, String[], String, String, String, String)

查询给定的表,返回对结果集的一个 Cursor 值。

QueryWithFactory(SQLiteDatabase+ICursorFactory, Boolean, String, String[], String, String[], String, String, String, String)

查询给定的 URL,返回一个 Cursor 基于结果集的 URL。

QueryWithFactory(SQLiteDatabase+ICursorFactory, Boolean, String, String[], String, String[], String, String, String, String, CancellationSignal)

查询给定的 URL,返回一个 Cursor 基于结果集的 URL。

RawQuery(String, String[])

运行提供的 SQL 并返回一个 Cursor 超过结果集。

RawQuery(String, String[], CancellationSignal)

运行提供的 SQL 并返回一个 Cursor 超过结果集。

RawQueryWithFactory(SQLiteDatabase+ICursorFactory, String, String[], String)

运行提供的 SQL 并返回结果集上的游标。

RawQueryWithFactory(SQLiteDatabase+ICursorFactory, String, String[], String, CancellationSignal)

运行提供的 SQL 并返回结果集上的游标。

ReleaseMemory()

尝试释放 SQLite 保留但不需要正常运行的内存。

ReleaseReference()

释放对对象的引用,如果释放了上次引用,则关闭该对象。

(继承自 SQLiteClosable)
ReleaseReferenceFromContainer()
已过时.

释放对对象容器拥有的对象的引用,如果释放了最后一个引用,则关闭该对象。

(继承自 SQLiteClosable)
Replace(String, String, ContentValues)

用于替换数据库中的行的便利方法。

ReplaceOrThrow(String, String, ContentValues)

用于替换数据库中的行的便利方法。

SetCustomAggregateFunction(String, IBinaryOperator)

注册可从 SQL 表达式调用的自定义聚合函数。

SetCustomScalarFunction(String, IUnaryOperator)

注册可从 SQL 表达式调用的自定义标量函数。

SetForeignKeyConstraintsEnabled(Boolean)

设置是否为数据库启用外键约束。

SetHandle(IntPtr, JniHandleOwnership)

设置 Handle 属性。

(继承自 Object)
SetLocale(Locale)

设置此数据库的区域设置。

SetLockingEnabled(Boolean)
已过时.

通过使用关键节周围的锁来控制 SQLiteDatabase 是否使线程安全。

SetMaximumSize(Int64)

设置数据库将增长到的最大大小。

SetMaxSqlCacheSize(Int32)

设置此数据库的 prepared-statement 缓存的最大大小。

SetTransactionSuccessful()

将当前事务标记为成功。

ToArray<T>()

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
ToString()

返回对象的字符串表示形式。

(继承自 Object)
UnregisterFromRuntime()

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
Update(String, ContentValues, String, String[])

用于更新数据库中行的便利方法。

UpdateWithOnConflict(String, ContentValues, String, String[], Conflict)

用于更新数据库中行的便利方法。

ValidateSql(String, CancellationSignal)

通过编译 SQL SELECT 语句验证该语句是否有效。

Wait()

使当前线程等待,直到唤醒它,通常是通过 em 通知/em> 或 <em>interrupted</em>。<><

(继承自 Object)
Wait(Int64)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
Wait(Int64, Int32)

使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。

(继承自 Object)
YieldIfContended()
已过时.

暂时结束事务以允许其他线程运行。

YieldIfContendedSafely()

暂时结束事务以允许其他线程运行。

YieldIfContendedSafely(Int64)

暂时结束事务以允许其他线程运行。

显式接口实现

IJavaPeerable.Disposed()

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
IJavaPeerable.DisposeUnlessReferenced()

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
IJavaPeerable.Finalized()

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
IJavaPeerable.JniManagedPeerState

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

公开用于管理 SQLite 数据库的方法。

(继承自 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

公开用于管理 SQLite 数据库的方法。

(继承自 Object)

扩展方法

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

公开用于管理 SQLite 数据库的方法。

GetJniTypeName(IJavaPeerable)

公开用于管理 SQLite 数据库的方法。

适用于