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 物件的 Managed 表示法時使用的建構函式;由運行時間呼叫。

欄位

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

LIKE 或 GLOB 模式的最大長度: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

在指定的資料庫上執行 'pragma 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 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

ThresholdType

此 API 支援適用於 Android 的 Mono 基礎結構,並不適合直接從您的程式代碼使用。

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()

呼叫 或 Close()釋放對象的最後一個參考時呼叫ReleaseReference()

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(file.

OpenOrCreateDatabase(String, SQLiteDatabase+ICursorFactory)

相當於 openDatabase(file.

OpenOrCreateDatabase(String, SQLiteDatabase+ICursorFactory, IDatabaseErrorHandler)

相當於 openDatabase(file.

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

查詢指定的網址,並透過結果集傳 Cursor 回 。

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

查詢指定的網址,並透過結果集傳 Cursor 回 。

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)

查詢指定的網址,並透過結果集傳 Cursor 回 。

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

查詢指定的網址,並透過結果集傳 Cursor 回 。

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 <notified/em>或<em>interrupted</em> 來喚醒它。<>

(繼承來源 Object)
Wait(Int64)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</em> 或 <em>interrupted</em>,或直到經過一定數量的實時為止。

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的線程等到喚醒為止,通常是因為 <em>notified</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 資料庫的方法。

適用於