日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSRdbStore

RdbStore

public interface RdbStore

提供管理關(guān)系數(shù)據(jù)庫(kù) (RDB) 的方法。

此類提供用于創(chuàng)建、查詢、更新和刪除 RDB 的方法。

嵌套類摘要

修飾符和類型 接口 描述
static classRdbStore.ConflictResolution表示解決沖突的方法的類型。

字段摘要

修飾符和類型 字段 描述
static intMAX_BATCH_INSERT_SIZE

方法總結(jié)

修飾符和類型 方法 描述
voidaddAttach(String alias, String name, byte[] encryptKey)附加數(shù)據(jù)庫(kù)。
booleanbackup(String destName)以指定名稱備份數(shù)據(jù)庫(kù)。
booleanbackup(String destName, byte[] destEncryptKey)使用指定的加密密鑰以指定名稱備份數(shù)據(jù)庫(kù)。
ListLongbatchInsertOrThrowException(String tableName, ListValuesBucket initialValues, RdbStore.ConflictResolution conflictResolution)根據(jù)沖突處理策略將數(shù)據(jù)批量插入數(shù)據(jù)庫(kù)。
voidbeginTransaction()以 EXCLUSIVE 模式開(kāi)始事務(wù)。
voidbeginTransactionWithObserver(TransactionObserver transactionObserver)使用偵聽(tīng)器以獨(dú)占模式開(kāi)始事務(wù)。
StatementbuildStatement(String sql)將 SQL 語(yǔ)句編譯成可重用的語(yǔ)句。
voidchangeEncryptKey(byte[] newEncryptKey)更改打開(kāi)的加密數(shù)據(jù)庫(kù)的加密密鑰。
booleancheckIntegrity()檢查主數(shù)據(jù)庫(kù)和附加數(shù)據(jù)庫(kù)的完整性。
voidclose()關(guān)閉一個(gè) RDB。
voidconfigLocale(Locale locale)設(shè)置數(shù)據(jù)庫(kù)區(qū)域設(shè)置。
longcount(String tableName, String whereClause, String[] whereArgs)查詢RDB存儲(chǔ)中滿足指定條件的行數(shù)。
longcount(AbsRdbPredicates absRdbPredicates)獲取數(shù)據(jù)滿足 AbsRdbPredicates 的指定實(shí)例對(duì)象的行數(shù)。
intdelete(AbsRdbPredicates absRdbPredicates)根據(jù) AbsRdbPredicates 的指定實(shí)例對(duì)象從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)。
voidendTransaction()結(jié)束交易。
voidexecuteSql(String sql)執(zhí)行不返回值的 SQL 語(yǔ)句。
voidexecuteSql(String sql, Object[] sqlArgs)執(zhí)行包含指定參數(shù)但不返回值的 SQL 語(yǔ)句。
StringgetPath()獲取數(shù)據(jù)庫(kù)文件的路徑。
intgetVersion()獲取數(shù)據(jù)庫(kù)版本。
voidgiveConnectionTemporarily(long milliseconds)暫時(shí)斷開(kāi)與數(shù)據(jù)庫(kù)的連接以允許其他線程使用數(shù)據(jù)庫(kù)。
longinsert(String table, ValuesBucket initialValues)在目標(biāo)表中插入一行數(shù)據(jù)。
longinsertOrThrowException(String table, ValuesBucket initialValues)在目標(biāo)表中插入一行數(shù)據(jù)。
longinsertWithConflictResolution(String table, ValuesBucket initialValues, RdbStore.ConflictResolution conflictResolution)在目標(biāo)表中插入一行數(shù)據(jù)并指定解決沖突的方法。
booleanisHoldingConnection()檢查此線程是否擁有數(shù)據(jù)庫(kù)連接。
booleanisInTransaction()檢查當(dāng)前線程是否正在進(jìn)行事務(wù)。
booleanisMemoryRdb()檢查數(shù)據(jù)庫(kù)是否在內(nèi)存中打開(kāi)。
booleanisOpen()檢查數(shù)據(jù)庫(kù)是否打開(kāi)。
booleanisReadOnly()檢查數(shù)據(jù)庫(kù)是否以只讀模式打開(kāi)。
ListPairString,StringlistAttached()查詢附加數(shù)據(jù)庫(kù)列表。
voidmarkAsCommit()將當(dāng)前事務(wù)標(biāo)記為提交。
ResultSetquery(AbsRdbPredicates absRdbPredicates, String[] columns)根據(jù)指定條件查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
ResultSetqueryByStep(AbsRdbPredicates absRdbPredicates, String[] columns)根據(jù)指定條件查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
ResultSetquerySql(String sql, String[] sqlArgs)執(zhí)行一條 SQL 語(yǔ)句。
ResultSetquerySqlByStep(String sql, String[] sqlArgs)執(zhí)行 SQL 語(yǔ)句并指定結(jié)果集。
ResultSetquerySqlWithHook(String sql, String[] sqlArgs, ResultSetHook resultSetHook)執(zhí)行 SQL 語(yǔ)句并指定結(jié)果集。
ResultSetqueryWithHook(AbsRdbPredicates absRdbPredicates, String[] columns, ResultSetHook resultSetHook)根據(jù)指定條件查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)并指定結(jié)果集。
longreplace(String table, ValuesBucket initialValues)替換目標(biāo)表中的一行數(shù)據(jù)。
longreplaceOrThrowException(String table, ValuesBucket initialValues)替換目標(biāo)表中的一行數(shù)據(jù)。
booleanrestore(String srcName)從指定的未加密數(shù)據(jù)庫(kù)文件恢復(fù)數(shù)據(jù)庫(kù)。
booleanrestore(String srcName, byte[] srcEncryptKey, byte[] destEncryptKey)從指定的加密或未加密數(shù)據(jù)庫(kù)文件恢復(fù)數(shù)據(jù)庫(kù)。
voidsetVersion(int version)設(shè)置新數(shù)據(jù)庫(kù)的版本。
StringtoString()獲取數(shù)據(jù)庫(kù)存儲(chǔ)的描述。
intupdate(ValuesBucket values, AbsRdbPredicates absRdbPredicates)根據(jù) AbsRdbPredicates 的指定實(shí)例對(duì)象更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)。
intupdateWithConflictResolution(ValuesBucket values, AbsRdbPredicates absRdbPredicates, RdbStore.ConflictResolution conflictResolution)更新目標(biāo)表中的一行數(shù)據(jù),并指定解決沖突的方法。

字段詳細(xì)信息

MAX_BATCH_INSERT_SIZE

static final int MAX_BATCH_INSERT_SIZE

方法詳情

insert

long insert(String table, ValuesBucket initialValues)

在目標(biāo)表中插入一行數(shù)據(jù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
table表示目標(biāo)表。
initialValues表示要插入到表中的數(shù)據(jù)行。 數(shù)據(jù)包含存儲(chǔ)在 ValuesBucket 中的鍵值對(duì)。 鍵值對(duì)與表的列名相關(guān)聯(lián)。

返回:

如果操作成功,則返回行 ID; 否則返回 -1。

insertOrThrowException

long insertOrThrowException(String table, ValuesBucket initialValues)

在目標(biāo)表中插入一行數(shù)據(jù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
table表示目標(biāo)表。
initialValues表示要插入到表中的數(shù)據(jù)行。 數(shù)據(jù)包含存儲(chǔ)在 ValuesBucket 中的鍵值對(duì)。 鍵值對(duì)與表的列名相關(guān)聯(lián)。

返回:

如果操作成功,則返回行 ID; 否則返回 -1。

Throws:

Throw名稱 Throw描述
RdbException如果發(fā)生 SQLite 數(shù)據(jù)庫(kù)錯(cuò)誤,則引發(fā)此異常。 您必須自己處理此異常。

batchInsertOrThrowException

ListLong batchInsertOrThrowException(String tableName, ListValuesBucket initialValues, RdbStore.ConflictResolution conflictResolution)

根據(jù)沖突處理策略將數(shù)據(jù)批量插入數(shù)據(jù)庫(kù)。

如果沖突處理策略為空,將使用默認(rèn)策略 ConflictResolution#ON_CONFLICT_NONE。 如果在數(shù)據(jù)插入過(guò)程中發(fā)生異常,操作會(huì)因沖突處理策略的類型而異。

  • ConflictResolution#ON_CONFLICT_ROLLBACK:如果發(fā)生數(shù)據(jù)沖突,數(shù)據(jù)庫(kù)列為空,或者數(shù)據(jù)庫(kù)列只有一個(gè)值,所有插入的數(shù)據(jù)將被回滾。
  • ConflictResolution#ON_CONFLICT_ABORT or ConflictResolution#ON_CONFLICT_FAIL:如果發(fā)生數(shù)據(jù)沖突,數(shù)據(jù)庫(kù)列為空,或者數(shù)據(jù)庫(kù)列只有一個(gè)值,插入的數(shù)據(jù)將被保留,并拋出異常。
  • ConflictResolution#ON_CONFLICT_IGNORE:如果發(fā)生數(shù)據(jù)沖突或數(shù)據(jù)庫(kù)列為空,將忽略異常,返回值-1。數(shù)據(jù)插入將繼續(xù),直到所有數(shù)據(jù)都插入數(shù)據(jù)庫(kù)。如果外鍵不存在或發(fā)生外鍵沖突,請(qǐng)參閱 ConflictResolution#ON_CONFLICT_ABORT。
  • ConflictResolution#ON_CONFLICT_REPLACE:如果發(fā)生數(shù)據(jù)沖突,或者數(shù)據(jù)庫(kù)列有默認(rèn)值或只有一個(gè)值,將替換沖突數(shù)據(jù)并繼續(xù)插入數(shù)據(jù),直到所有數(shù)據(jù)都插入數(shù)據(jù)庫(kù)。如果數(shù)據(jù)庫(kù)列沒(méi)有默認(rèn)值或發(fā)生外鍵沖突,請(qǐng)參閱 ConflictResolution#ON_CONFLICT_ABORT。

參數(shù):

參數(shù)名稱 參數(shù)描述
tableName表示數(shù)據(jù)庫(kù)的表名。
initialValues表示要插入數(shù)據(jù)庫(kù)的數(shù)據(jù)。
conflictResolution表示沖突處理策略。

返回:

如果批量插入成功,則返回所有行的 ID。 如果使用 ConflictResolution#ON_CONFLICT_IGNORE 策略,則返回的列表可能包含 -1。

Throws:

Throw名稱 Throw描述
IllegalArgumentException如果表名為 null 或空字符串、initialValues 為 null 或空列表、initialValues 中的值為 null 或空字符串,或者 initialValues 中的值數(shù)量超過(guò) RdbStore#MAX_BATCH_INSERT_SIZE,則拋出此異常。
RdbException如果數(shù)據(jù)插入數(shù)據(jù)庫(kù)失敗,則拋出此異常。

replace

long replace(String table, ValuesBucket initialValues)

替換目標(biāo)表中的一行數(shù)據(jù)。

如果目標(biāo)行不存在,則此方法插入一行。

參數(shù):

參數(shù)名稱 參數(shù)描述
table表示目標(biāo)表。
initialValues表示用于替換目標(biāo)表中的數(shù)據(jù)行的數(shù)據(jù)行。 數(shù)據(jù)包含存儲(chǔ)在 ValuesBucket 中的鍵值對(duì)。 鍵值對(duì)與表的列名相關(guān)聯(lián)。

返回:

如果操作成功,則返回行 ID; 否則返回 -1。

replaceOrThrowException

long replaceOrThrowException(String table, ValuesBucket initialValues)

替換目標(biāo)表中的一行數(shù)據(jù)。

如果目標(biāo)行不存在,則此方法插入一行。

參數(shù):

參數(shù)名稱 參數(shù)描述
table表示目標(biāo)表。
initialValues表示用于替換目標(biāo)表中的數(shù)據(jù)行的數(shù)據(jù)行。 數(shù)據(jù)包含存儲(chǔ)在 ValuesBucket 中的鍵值對(duì)。 鍵值對(duì)與表的列名相關(guān)聯(lián)。

返回:

如果操作成功,則返回行 ID; 否則返回 -1。

Throws:

Throw名稱 Throw描述
RdbException如果發(fā)生 SQLite 數(shù)據(jù)庫(kù)錯(cuò)誤,則引發(fā)此異常。 您必須自己處理此異常。

insertWithConflictResolution

long insertWithConflictResolution(String table, ValuesBucket initialValues, RdbStore.ConflictResolution conflictResolution)

在目標(biāo)表中插入一行數(shù)據(jù)并指定解決沖突的方法。

參數(shù):

參數(shù)名稱 參數(shù)描述
table表示目標(biāo)表。
initialValues表示要插入到表中的數(shù)據(jù)行。 數(shù)據(jù)包含存儲(chǔ)在 ValuesBucket 中的鍵值對(duì)。 鍵值對(duì)與表的列名相關(guān)聯(lián)。
conflictResolution表示解決沖突的方法。

返回:

如果操作成功,則返回行 ID; 否則返回 -1。

delete

int delete(AbsRdbPredicates absRdbPredicates)

根據(jù) AbsRdbPredicates 的指定實(shí)例對(duì)象從數(shù)據(jù)庫(kù)中刪除數(shù)據(jù)。

您可以傳遞 AbsRdbPredicates 的實(shí)例對(duì)象,例如 RdbPredicates 和 RawRdbPredicates 來(lái)指定刪除條件。 如果傳入 RdbPredicates 對(duì)象,可以調(diào)用 RdbPredicates#equalTo 等方法設(shè)置刪除條件。 如果傳遞 RawRdbPredicates 對(duì)象,則只能設(shè)置數(shù)據(jù)庫(kù) tableName、whereClause 和 whereArgs。 whereArgs 是 whereClause 中占位符的值,必須與占位符的順序相同。

參數(shù):

參數(shù)名稱 參數(shù)描述
absRdbPredicates指示 AbsRdbPredicates 的實(shí)例對(duì)象指定的刪除條件。

返回:

返回受影響的行數(shù)。

update

int update(ValuesBucket values, AbsRdbPredicates absRdbPredicates)

根據(jù) AbsRdbPredicates 的指定實(shí)例對(duì)象更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

您可以傳遞RdbPredicates 和RawRdbPredicates 等AbsRdbPredicates 的實(shí)例對(duì)象來(lái)指定更新條件。 如果傳遞 RdbPredicates 對(duì)象,則可以調(diào)用 RdbPredicates#equalTo 等方法設(shè)置更新條件。 如果傳遞 RawRdbPredicates 對(duì)象,則只能設(shè)置數(shù)據(jù)庫(kù) tableName、whereClause 和 whereArgs。 whereArgs 是 whereClause 中占位符的值,必須與占位符的順序相同。

參數(shù):

參數(shù)名稱 參數(shù)描述
values表示數(shù)據(jù)庫(kù)中要更新的數(shù)據(jù)行。 數(shù)據(jù)包含存儲(chǔ)在 ValuesBucket 中的鍵值對(duì)。 鍵值對(duì)與數(shù)據(jù)庫(kù)表的列名相關(guān)聯(lián)。
absRdbPredicates通過(guò) AbsRdbPredicates 的實(shí)例對(duì)象指示指定的更新條件。

返回:

返回受影響的行數(shù)。

updateWithConflictResolution

int updateWithConflictResolution(ValuesBucket values, AbsRdbPredicates absRdbPredicates, RdbStore.ConflictResolution conflictResolution)

更新目標(biāo)表中的一行數(shù)據(jù),并指定解決沖突的方法。

參數(shù):

參數(shù)名稱 參數(shù)描述
values表示要插入到表中的數(shù)據(jù)行。 數(shù)據(jù)包含存儲(chǔ)在 ValuesBucket 中的鍵值對(duì)。 鍵值對(duì)與表的列名相關(guān)聯(lián)。
absRdbPredicates通過(guò) RdbPredicates 的實(shí)例對(duì)象指示指定的更新條件。
conflictResolution表示解決沖突的方法。

返回:

返回受影響的行數(shù)。

query

ResultSet query(AbsRdbPredicates absRdbPredicates, String[] columns)

根據(jù)指定條件查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
absRdbPredicates表示查詢條件。
columns表示要查詢的列。 如果值為 null,則查詢適用于所有列。

返回:

如果操作成功,則返回一個(gè) ResultSet 對(duì)象;

queryWithHook

ResultSet queryWithHook(AbsRdbPredicates absRdbPredicates, String[] columns, ResultSetHook resultSetHook)

根據(jù)指定條件查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)并指定結(jié)果集。

參數(shù):

參數(shù)名稱 參數(shù)描述
absRdbPredicates表示查詢條件。
resultSetHook指示要使用的結(jié)果集工廠。
columns表示要查詢的列。 如果值為 null,則查詢適用于所有列。

返回:

如果操作成功,則返回一個(gè) ResultSet 對(duì)象;

querySql

ResultSet querySql(String sql, String[] sqlArgs)

執(zhí)行一條 SQL 語(yǔ)句。

參數(shù):

參數(shù)名稱 參數(shù)描述
sql指示要執(zhí)行的 SQL 語(yǔ)句。
sqlArgs表示SQL語(yǔ)句中的參數(shù)值。 值是字符串。

返回:

如果操作成功,則返回一個(gè) ResultSet 對(duì)象;

querySqlWithHook

ResultSet querySqlWithHook(String sql, String[] sqlArgs, ResultSetHook resultSetHook)

執(zhí)行 SQL 語(yǔ)句并指定結(jié)果集。

參數(shù):

參數(shù)名稱 參數(shù)描述
resultSetHook指示要使用的結(jié)果集工廠。
sql指示要執(zhí)行的 SQL 語(yǔ)句。
sqlArgs表示SQL語(yǔ)句中的參數(shù)值。 值是字符串。

返回:

如果操作成功,則返回一個(gè) ResultSet 對(duì)象;

queryByStep

ResultSet queryByStep(AbsRdbPredicates absRdbPredicates, String[] columns)

根據(jù)指定條件查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
absRdbPredicates表示查詢條件。
columns表示要查詢的列。 如果值為 null,則查詢適用于所有列。

返回:

如果操作成功,則返回一個(gè) ResultSet 對(duì)象

querySqlByStep

ResultSet querySqlByStep(String sql, String[] sqlArgs)

執(zhí)行 SQL 語(yǔ)句并指定結(jié)果集。

參數(shù):

參數(shù)名稱 參數(shù)描述
sql指示要執(zhí)行的 SQL 語(yǔ)句。
sqlArgs表示SQL語(yǔ)句中的參數(shù)值。 值是字符串。

返回:

如果操作成功,則返回一個(gè) ResultSet 對(duì)象;

executeSql

void executeSql(String sql)

執(zhí)行不返回值的 SQL 語(yǔ)句。

不要使用這種方法通過(guò)“PRAGMA journal_mode'value'”語(yǔ)句來(lái)改變數(shù)據(jù)庫(kù)連接的journal_mode。

參數(shù):

參數(shù)名稱 參數(shù)描述
sql指示要執(zhí)行的 SQL 語(yǔ)句。

Throws:

Throw名稱 Throw描述
RdbException如果 SQL 語(yǔ)句無(wú)效,則引發(fā)此異常。 您必須自己處理此異常。

executeSql

void executeSql(String sql, Object[] sqlArgs)

執(zhí)行包含指定參數(shù)但不返回值的 SQL 語(yǔ)句。

不要使用這種方法通過(guò)“PRAGMA journal_mode'value'”語(yǔ)句來(lái)改變數(shù)據(jù)庫(kù)連接的journal_mode。

參數(shù):

參數(shù)名稱 參數(shù)描述
sql指示要執(zhí)行的 SQL 語(yǔ)句。
sqlArgs表示SQL語(yǔ)句中的參數(shù)值。 值是字符串。

Throws:

Throw名稱 Throw描述
RdbException如果 SQL 語(yǔ)句無(wú)效,則引發(fā)此異常。 您必須自己處理此異常。

buildStatement

Statement buildStatement(String sql)

將 SQL 語(yǔ)句編譯成可重用的語(yǔ)句。

一個(gè)語(yǔ)句不能被兩個(gè)線程同時(shí)使用。

參數(shù):

參數(shù)名稱 參數(shù)描述
sql指示要編譯的 SQL 語(yǔ)句。

返回:

返回一個(gè) Statement 對(duì)象,它表示一個(gè)預(yù)編譯的 SQL 語(yǔ)句。

count

long count(String tableName, String whereClause, String[] whereArgs)

查詢RDB存儲(chǔ)中滿足指定條件的行數(shù)。

要獲得可執(zhí)行的SQL查詢語(yǔ)句,將表名和條件子句連接成字符串select count(*) from tableName whereClause,并將字符串中的問(wèn)號(hào)(?)替換為whereArgs中的值。 這樣就可以調(diào)用Statement#executeAndGetLong執(zhí)行SQL查詢語(yǔ)句,獲取滿足指定條件的行數(shù)。 如果 whereClause 為 null 或?yàn)榭眨瑒t返回表中的總行數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
tableName表示數(shù)據(jù)庫(kù)表的名稱。 如果為 null 或?yàn)榭?,則拋出 IllegalArgumentException。
whereClause表示一個(gè)可選的條件子句,例如 id =? 和 name like?,其中id和name是數(shù)據(jù)庫(kù)表的列。
whereArgs指示包含用于替換 whereClause 中問(wèn)號(hào) (?) 的值的數(shù)組。

返回:

返回 RDB 存儲(chǔ)中滿足指定條件的行數(shù)。

count

long count(AbsRdbPredicates absRdbPredicates)

獲取數(shù)據(jù)滿足 AbsRdbPredicates 的指定實(shí)例對(duì)象的行數(shù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
absRdbPredicates表示 AbsRdbPredicates 的實(shí)例對(duì)象指定的計(jì)數(shù)條件。

返回:

返回?cái)?shù)據(jù)滿足 AbsRdbPredicates 的指定實(shí)例對(duì)象的行數(shù)。

addAttach

void addAttach(String alias, String name, byte[] encryptKey)

附加數(shù)據(jù)庫(kù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
alias指示要附加的數(shù)據(jù)庫(kù)的別名。
name指示要附加的數(shù)據(jù)庫(kù)的名稱。
encryptKey指示用于加密要附加的數(shù)據(jù)庫(kù)的密鑰。

Throws:

Throw名稱 Throw描述
IllegalArgumentException如果別名為 null,則引發(fā)此異常。

listAttached

ListPairString,String listAttached()

查詢附加數(shù)據(jù)庫(kù)列表。

返回:

返回附加數(shù)據(jù)庫(kù)的列表,包括它們的名稱和路徑。 主數(shù)據(jù)庫(kù)也包含在列表中。

changeEncryptKey

void changeEncryptKey(byte[] newEncryptKey)

更改打開(kāi)的加密數(shù)據(jù)庫(kù)的加密密鑰。

此方法僅適用于加密數(shù)據(jù)庫(kù),不能用于將其更改為未加密數(shù)據(jù)庫(kù)。 在調(diào)用此方法之前,請(qǐng)確保數(shù)據(jù)庫(kù)已打開(kāi)并且沒(méi)有事務(wù)正在使用數(shù)據(jù)庫(kù)連接。

參數(shù):

參數(shù)名稱 參數(shù)描述
newEncryptKey表示數(shù)據(jù)庫(kù)的新加密密鑰。

Throws:

Throw名稱 Throw描述
IllegalArgumentException如果新的加密密鑰為 null 或空字符串,則引發(fā)此異常。
IllegalStateException如果數(shù)據(jù)庫(kù)未打開(kāi)或未加密,或者事務(wù)正在使用數(shù)據(jù)庫(kù)連接,則引發(fā)此異常。
RdbException如果更改加密數(shù)據(jù)庫(kù)的加密密鑰失敗,則拋出此異常。

getVersion

int getVersion()

獲取數(shù)據(jù)庫(kù)版本。

返回:

返回?cái)?shù)據(jù)庫(kù)版本。

setVersion

void setVersion(int version)

設(shè)置新數(shù)據(jù)庫(kù)的版本。

參數(shù):

參數(shù)名稱 參數(shù)描述
version指示要設(shè)置的數(shù)據(jù)庫(kù)版本。

beginTransaction

void beginTransaction()

以 EXCLUSIVE 模式開(kāi)始事務(wù)。

endTransaction() 方法用于結(jié)束事務(wù)。 如果在事務(wù)結(jié)束時(shí)沒(méi)有使用 markAsCommit() 方法將事務(wù)標(biāo)記為已提交,則所有更改都會(huì)回滾。

beginTransactionWithObserver

void beginTransactionWithObserver(TransactionObserver transactionObserver)

使用偵聽(tīng)器以獨(dú)占模式開(kāi)始事務(wù)。

endTransaction() 方法用于結(jié)束事務(wù)。 如果在事務(wù)結(jié)束時(shí)沒(méi)有使用 markAsCommit() 方法將事務(wù)標(biāo)記為已提交,則所有更改都會(huì)回滾。

參數(shù):

參數(shù)名稱 參數(shù)描述
transactionObserver提供可以在事務(wù)啟動(dòng)、提交或回滾時(shí)調(diào)用的回調(diào)方法。

markAsCommit

void markAsCommit()

將當(dāng)前事務(wù)標(biāo)記為提交。

調(diào)用該方法后,在調(diào)用 endTransaction() 方法之前不要進(jìn)行任何操作。 無(wú)論是否發(fā)生錯(cuò)誤,事務(wù)都將被提交。

endTransaction

void endTransaction()

結(jié)束事務(wù)。

isInTransaction

boolean isInTransaction()

檢查當(dāng)前線程是否正在進(jìn)行事務(wù)。

返回:

如果當(dāng)前線程正在進(jìn)行事務(wù),則返回 true; 否則返回 false。

giveConnectionTemporarily

void giveConnectionTemporarily(long milliseconds)

暫時(shí)斷開(kāi)與數(shù)據(jù)庫(kù)的連接以允許其他線程使用數(shù)據(jù)庫(kù)。

該方法可用于提交當(dāng)前事務(wù)并暫時(shí)斷開(kāi)與數(shù)據(jù)庫(kù)的連接,以便其他線程可以使用數(shù)據(jù)庫(kù)。 在指定的時(shí)間段后,將開(kāi)始新的交易。 使用此方法時(shí),請(qǐng)確保當(dāng)前事務(wù)已啟動(dòng),并且該事務(wù)未使用 markAsCommit() 方法標(biāo)記為已提交; 否則,調(diào)用此方法將失敗。 在調(diào)用此方法之前所做的任何更改都無(wú)法回滾。

參數(shù):

參數(shù)名稱 參數(shù)描述
milliseconds指示當(dāng)前連接從數(shù)據(jù)庫(kù)中斷的持續(xù)時(shí)間(毫秒)。

Throws:

Throw名稱 Throw描述
IllegalStateException如果當(dāng)前線程不包含事務(wù)或包含嵌套事務(wù),或者在調(diào)用此方法之前已使用 markAsCommit() 方法將事務(wù)標(biāo)記為已提交,則拋出此異常。

isHoldingConnection

boolean isHoldingConnection()

檢查此線程是否擁有數(shù)據(jù)庫(kù)連接。

返回:

如果此線程擁有數(shù)據(jù)庫(kù)連接,則返回 true; 否則返回 false。

isOpen

boolean isOpen()

檢查數(shù)據(jù)庫(kù)是否打開(kāi)。

返回:

如果數(shù)據(jù)庫(kù)已打開(kāi),則返回 true; 否則返回 false。

getPath

String getPath()

獲取數(shù)據(jù)庫(kù)文件的路徑。

返回:

返回?cái)?shù)據(jù)庫(kù)文件的路徑。

isReadOnly

boolean isReadOnly()

檢查數(shù)據(jù)庫(kù)是否以只讀模式打開(kāi)。

返回:

如果數(shù)據(jù)庫(kù)以只讀模式打開(kāi),則返回 true; 否則返回 false。

isMemoryRdb

boolean isMemoryRdb()

檢查數(shù)據(jù)庫(kù)是否在內(nèi)存中打開(kāi)。

返回:

如果數(shù)據(jù)庫(kù)在內(nèi)存中打開(kāi),則返回 true; 否則返回 false。

checkIntegrity

boolean checkIntegrity()

檢查主數(shù)據(jù)庫(kù)和附加數(shù)據(jù)庫(kù)的完整性。

此方法調(diào)用 SQLite 數(shù)據(jù)庫(kù)的完整性檢查命令。

返回:

如果數(shù)據(jù)庫(kù)是完整的,則返回 true; 否則返回 false。

close

void close()

關(guān)閉一個(gè) RDB。

不能再使用封閉的 RDB。

backup

boolean backup(String destName)

以指定名稱備份數(shù)據(jù)庫(kù)。

生成的備份文件未加密。

參數(shù):

參數(shù)名稱 參數(shù)描述
destName表示保存數(shù)據(jù)庫(kù)備份的名稱。 確保您的應(yīng)用程序?qū)υ撁Q具有寫(xiě)入權(quán)限。

返回:

如果數(shù)據(jù)庫(kù)備份成功返回true; 否則返回 false。

restore

boolean restore(String srcName)

從指定的未加密數(shù)據(jù)庫(kù)文件恢復(fù)數(shù)據(jù)庫(kù)。

調(diào)用該方法時(shí),會(huì)刪除原始數(shù)據(jù)并生成未加密的數(shù)據(jù)庫(kù)。

參數(shù):

參數(shù)名稱 參數(shù)描述
srcName表示保存未加密數(shù)據(jù)庫(kù)文件的名稱。 確保您的應(yīng)用程序?qū)υ撁Q具有寫(xiě)入權(quán)限。

返回:

如果數(shù)據(jù)庫(kù)恢復(fù)成功,則返回 true; 否則返回 false。

backup

boolean backup(String destName, byte[] destEncryptKey)

使用指定的加密密鑰以指定名稱備份數(shù)據(jù)庫(kù)。

生成的備份已加密。 如果 destEncryptKey 為 null,則生成的備份未加密。 在這種情況下,此方法等效于 RdbStore#backup(String) 方法。

參數(shù):

參數(shù)名稱 參數(shù)描述
destName表示保存數(shù)據(jù)庫(kù)備份的名稱。 確保您的應(yīng)用程序?qū)υ撁Q具有寫(xiě)入權(quán)限。
destEncryptKey指示要備份的數(shù)據(jù)庫(kù)的加密密鑰。 它可以與當(dāng)前數(shù)據(jù)庫(kù)的不同。

返回:

如果數(shù)據(jù)庫(kù)備份成功返回true; 否則返回 false。

restore

boolean restore(String srcName, byte[] srcEncryptKey, byte[] destEncryptKey)

從指定的加密或未加密數(shù)據(jù)庫(kù)文件恢復(fù)數(shù)據(jù)庫(kù)。

當(dāng)被調(diào)用時(shí),此方法會(huì)刪除原始數(shù)據(jù)并生成一個(gè)加密或未加密的數(shù)據(jù)庫(kù),由您的應(yīng)用程序定義。 如果 srcEncryptKey 和 destEncryptKey 都為 null,則此方法等效于 RdbStore#restore(String) 方法。

參數(shù):

參數(shù)名稱 參數(shù)描述
srcName表示存儲(chǔ)源數(shù)據(jù)庫(kù)文件的名稱。 確保您的應(yīng)用程序?qū)υ撁Q具有寫(xiě)入權(quán)限。
srcEncryptKey表示源數(shù)據(jù)庫(kù)的加密密鑰。 如果數(shù)據(jù)庫(kù)未加密,則將此參數(shù)的值設(shè)置為 null。
destEncryptKey表示恢復(fù)的數(shù)據(jù)庫(kù)的加密密鑰。如果希望數(shù)據(jù)庫(kù)不加密,則將該參數(shù)的值設(shè)置為null。

返回:

如果數(shù)據(jù)庫(kù)恢復(fù)成功,則返回 true; 否則返回 false。

configLocale

void configLocale(Locale locale)

設(shè)置數(shù)據(jù)庫(kù)區(qū)域設(shè)置。

如果數(shù)據(jù)庫(kù)是只讀的或數(shù)據(jù)集在事務(wù)中,則此方法不可用。 數(shù)據(jù)庫(kù)區(qū)域設(shè)置好后,可以使用 select from table where column=xxxx COLLATE LOCALES; 或按列 COLLATE LOCALES ASC 從測(cè)試訂單中選擇 ; 在本地對(duì)數(shù)據(jù)進(jìn)行排序和查詢。

參數(shù):

參數(shù)名稱 參數(shù)描述
locale指示要設(shè)置的語(yǔ)言環(huán)境。

toString

String toString()

獲取數(shù)據(jù)庫(kù)存儲(chǔ)的描述。

覆蓋:

類 Object 中的 toString

返回:

返回 RdbStore 的描述。


分享名稱:創(chuàng)新互聯(lián)鴻蒙OS教程:鴻蒙OSRdbStore
分享地址:http://www.dlmjj.cn/article/djscgsi.html