From c788adfe148cbbe24594428770bfe071a8638f46 Mon Sep 17 00:00:00 2001 From: PaDoBoo Date: Sat, 12 Feb 2022 16:18:05 +0800 Subject: [PATCH] support stage context for rdb Signed-off-by: PaDoBoo --- .../reference/apis/js-apis-data-rdb.md | 72 ++++++++++++++++--- 1 file changed, 62 insertions(+), 10 deletions(-) diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md index 44c6e7089da..f00ef8c26c4 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-rdb.md @@ -18,23 +18,38 @@ import dataRdb from '@ohos.data.rdb' ## dataRdb.getRdbStore -getRdbStore(config: StoreConfig, version: number, callback: AsyncCallback<RdbStore>): void +getRdbStore(context: Context, config: StoreConfig, version: number, callback: AsyncCallback<RdbStore>): void 获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,结果以callback形式返回。 - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | | config | [StoreConfig](#storeconfig) | 是 | 与此RDB存储相关的数据库配置。 | | version | number | 是 | 数据库版本。 | | callback | AsyncCallback<[RdbStore](#rdbstore)> | 是 | 指定callback回调函数。返回一个RdbStore。 | - 示例: + stageMode: Stage Mode ``` import dataRdb from '@ohos.data.rdb' const STORE_CONFIG = { name: "RdbTest.db"} const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)" - dataRdb.getRdbStore(STORE_CONFIG, 1, function (err, rdbStore) { + const context = this.context; + dataRdb.getRdbStore(context, STORE_CONFIG, 1, function (err, rdbStore) { + rdbStore.executeSql(SQL_CREATE_TABLE) + console.info(TAG + 'create table done.') + }) + ``` + + stageMode: FA Mode + ``` + import dataRdb from '@ohos.data.rdb' + const STORE_CONFIG = { name: "RdbTest.db"} + const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)" + let context = featureAbility.getContext(); + dataRdb.getRdbStore(context, STORE_CONFIG, 1, function (err, rdbStore) { rdbStore.executeSql(SQL_CREATE_TABLE) console.info(TAG + 'create table done.') }) @@ -43,13 +58,14 @@ getRdbStore(config: StoreConfig, version: number, callback: AsyncCallback<Rdb ## dataRdb.getRdbStore -getRdbStore(config: StoreConfig, version: number): Promise<RdbStore> +getRdbStore(context: Context, config: StoreConfig, version: number): Promise<RdbStore> 获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,结果以Promise形式返回。 - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | | config | [StoreConfig](#storeconfig) | 是 | 与此RDB存储相关的数据库配置。 | | version | number | 是 | 数据库版本。 | @@ -59,11 +75,27 @@ getRdbStore(config: StoreConfig, version: number): Promise<RdbStore> | Promise<[RdbStore](#rdbstore)> | 指定Promise回调函数。返回一个RdbStore。 | - 示例: + stageMode: Stage Mode + ``` + import dataRdb from '@ohos.data.rdb' + const STORE_CONFIG = { name: "RdbTest.db" } + const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)" + const context = this.context; + let promise = dataRdb.getRdbStore(context, STORE_CONFIG, 1); + promise.then(async (rdbStore) => { + await rdbStore.executeSql(SQL_CREATE_TABLE, null) + }).catch((err) => { + expect(null).assertFail(); + }) + ``` + + stageMode: FA Mode ``` import dataRdb from '@ohos.data.rdb' const STORE_CONFIG = { name: "RdbTest.db" } const SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS EMPLOYEE (ID INTEGER PRIMARY KEY AUTOINCREMENT, NAME TEXT NOT NULL, AGE INTEGER, SALARY REAL, CODES BLOB)" - let promise = dataRdb.getRdbStore(STORE_CONFIG, 1); + let context = featureAbility.getContext(); + let promise = dataRdb.getRdbStore(context, STORE_CONFIG, 1); promise.then(async (rdbStore) => { await rdbStore.executeSql(SQL_CREATE_TABLE, null) }).catch((err) => { @@ -74,33 +106,44 @@ getRdbStore(config: StoreConfig, version: number): Promise<RdbStore> ## dataRdb.deleteRdbStore -deleteRdbStore(name: string, callback: AsyncCallback<void>): void +deleteRdbStore(context: Context, name: string, callback: AsyncCallback<void>): void 删除数据库,结果以callback形式返回。 - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | | name | string | 是 | 数据库名称。 | | callback | AsyncCallback<void> | 是 | 指定callback回调函数。如果数据库已删除,则为true;否则返回false。 | - 示例: + stageMode: Stage Mode ``` import dataRdb from '@ohos.data.rdb' + const context = this.context; dataRdb.deleteRdbStore("RdbTest.db", function (err, rdbStore) { console.info(TAG + 'delete store done.')}) ``` + stageMode: FA Mode + ``` + import dataRdb from '@ohos.data.rdb' + let context = featureAbility.getContext(); + dataRdb.deleteRdbStore(context, "RdbTest.db", function (err, rdbStore) { + console.info(TAG + 'delete store done.')}) + ``` ## dataRdb.deleteRdbStore -deleteRdbStore(name: string): Promise<void> +deleteRdbStore(context: Context, name: string): Promise<void> 使用指定的数据库文件配置删除数据库,结果以Promise形式返回。 - 参数: | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | + | context | Context | 是 | 应用程序或功能的上下文 | | name | string | 是 | 数据库名称。 | - 返回值: @@ -109,12 +152,20 @@ deleteRdbStore(name: string): Promise<void> | Promise<void> | 指定Promise回调函数。如果数据库已删除,则为true;否则返回false。 | - 示例: + stageMode: Stage Mode ``` import dataRdb from '@ohos.data.rdb' - let promise = dataRdb.deleteRdbStore("RdbTest.db") - promise.then(()=>{ - console.info(TAG + 'delete store done.') - }) + const context = this.context; + dataRdb.deleteRdbStore("RdbTest.db", function (err, rdbStore) { + console.info(TAG + 'delete store done.')}) + ``` + + stageMode: FA Mode + ``` + import dataRdb from '@ohos.data.rdb' + let context = featureAbility.getContext(); + dataRdb.deleteRdbStore(context, "RdbTest.db", function (err, rdbStore) { + console.info(TAG + 'delete store done.')}) ``` @@ -1073,6 +1124,7 @@ query(rdbPredicates: RdbPredicates, columns?: Array<string>):Promise<Re | Promise<[ResultSet](../apis/js-apis-data-resultset.md)> | 指定Promise回调函数。如果操作成功,则返回ResultSet对象。 | - 示例: + stageMode ``` let predicates = new dataRdb.RdbPredicates("EMPLOYEE") predicates.equalTo("NAME", "Rose") -- Gitee