From 08f850ccf5fbc5d446e320ba09fd8fff0164cadf Mon Sep 17 00:00:00 2001 From: lihuihui Date: Sat, 15 Apr 2023 18:51:02 +0800 Subject: [PATCH] RDB Signed-off-by: lihuihui --- .../reference/apis/js-apis-data-rdb.md | 32 ++++---- .../apis/js-apis-data-relationalStore.md | 76 ++++++++++--------- 2 files changed, 59 insertions(+), 49 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 b2b3cdd047..1399a1245c 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 @@ -1,6 +1,6 @@ # @ohos.data.rdb (关系型数据库) -关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。 +关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。不支持Worker线程。 该模块提供以下关系型数据库相关的常用功能: @@ -372,6 +372,7 @@ inDevices(devices: Array<string>): RdbPredicates ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceIds = []; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -380,7 +381,6 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceIds = []; for (var i = 0; i < devices.length; i++) { deviceIds[i] = devices[i].deviceId; } @@ -1174,7 +1174,7 @@ predicates.notIn("NAME", ["Lisa", "Rose"]) 提供管理关系数据库(RDB)方法的接口。 -在使用以下相关接口前,请使用[executeSql](#executesql8)接口初始化数据库表结构和相关数据,具体可见[关系型数据库开发指导](../../database/database-relational-guidelines.md)。 +在使用以下相关接口前,请使用[executeSql](#executesql8)接口初始化数据库表结构和相关数据。 ### insert @@ -1565,7 +1565,7 @@ querySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback& | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。 | +| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数需为空数组。 | | callback | AsyncCallback<[ResultSet](js-apis-data-resultset.md)> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 | **示例:** @@ -1594,7 +1594,7 @@ querySql(sql: string, bindArgs?: Array<ValueType>):Promise<ResultSet> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。 | +| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数不填。 | **返回值**: @@ -1605,7 +1605,7 @@ querySql(sql: string, bindArgs?: Array<ValueType>):Promise<ResultSet> **示例:** ```js -let promise = rdbStore.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo']) +let promise = rdbStore.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'") promise.then((resultSet) => { console.log("ResultSet column names: " + resultSet.columnNames) console.log("ResultSet column count: " + resultSet.columnCount) @@ -1627,7 +1627,7 @@ executeSql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallbac | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。 | +| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数需为空数组。 | | callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | **示例:** @@ -1656,7 +1656,7 @@ executeSql(sql: string, bindArgs?: Array<ValueType>):Promise<void> | 参数名 | 类型 | 必填 | 说明 | | -------- | -------- | -------- | -------- | | sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。 | +| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数不填。 | **返回值**: @@ -1667,10 +1667,10 @@ executeSql(sql: string, bindArgs?: Array<ValueType>):Promise<void> **示例:** ```js -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 = rdbStore.executeSql(SQL_CREATE_TABLE) +const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'" +let promise = rdbStore.executeSql(SQL_DELETE_TABLE) promise.then(() => { - console.info('Create table done.') + console.info('Delete table done.') }).catch((err) => { console.info("ExecuteSql failed, err: " + err) }) @@ -1851,6 +1851,7 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceId = null; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -1859,7 +1860,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceId = devices[0].deviceId; + deviceId = devices[0].deviceId; }) @@ -1904,6 +1905,7 @@ rdbStore.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableNa ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceId = null; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -1912,7 +1914,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceId = devices[0].deviceId; + deviceId = devices[0].deviceId; }) let promise = rdbStore.obtainDistributedTableName(deviceId, "EMPLOYEE") @@ -1946,6 +1948,7 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceIds = []; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -1954,7 +1957,6 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceIds = []; for (var i = 0; i < devices.length; i++) { deviceIds[i] = devices[i].deviceId; } @@ -2002,6 +2004,7 @@ rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates, function (err, resul ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceIds = []; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -2010,7 +2013,6 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceIds = []; for (var i = 0; i < devices.length; i++) { deviceIds[i] = devices[i].deviceId; } diff --git a/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md b/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md index 16e72da32e..979dbf2618 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md +++ b/zh-cn/application-dev/reference/apis/js-apis-data-relationalStore.md @@ -1,6 +1,6 @@ # @ohos.data.relationalStore (关系型数据库) -关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。 +关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。不支持Worker线程。 该模块提供以下关系型数据库相关的常用功能: @@ -317,6 +317,10 @@ class EntryAbility extends UIAbility { 数据库的安全级别枚举。 +> **说明:** +> +> 若需要进行同步操作,数据库安全等级应不高于对端设备安全等级,具体可见[跨设备同步访问控制机制](../../database/sync-app-data-across-devices-overview.md#跨设备同步访问控制机制)。 + **系统能力:** SystemCapability.DistributedDataManager.RelationalStore.Core | 名称 | 值 | 说明 | @@ -424,6 +428,7 @@ inDevices(devices: Array<string>): RdbPredicates ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceIds = []; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -432,7 +437,6 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceIds = []; for (var i = 0; i < devices.length; i++) { deviceIds[i] = devices[i].deviceId; } @@ -1868,6 +1872,7 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceId = null; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -1876,7 +1881,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceId = devices[0].deviceId; + deviceId = devices[0].deviceId; }) let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); @@ -1925,6 +1930,7 @@ remoteQuery(device: string, table: string, predicates: RdbPredicates, columns: A ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceId = null; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -1933,12 +1939,12 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceId = devices[0].deviceId; + deviceId = devices[0].deviceId; }) let predicates = new relationalStore.RdbPredicates('EMPLOYEE'); predicates.greaterThan("id", 0); -let promise = store.remoteQuery("deviceId", "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); +let promise = store.remoteQuery(deviceId, "EMPLOYEE", predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"]); promise.then((resultSet) => { console.info(`ResultSet column names: ${resultSet.columnNames}`); console.info(`ResultSet column count: ${resultSet.columnCount}`); @@ -1957,11 +1963,11 @@ querySql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback& **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------------------------- | -| sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。 | -| callback | AsyncCallback<[ResultSet](#resultset)> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ | +| sql | string | 是 | 指定要执行的SQL语句。 | +| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数需为空数组。 | +| callback | AsyncCallback<[ResultSet](#resultset)> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 | **示例:** @@ -1986,10 +1992,10 @@ querySql(sql: string, bindArgs?: Array<ValueType>):Promise<ResultSet> **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------ | ---- | --------------------- | -| sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------ | ---- | ------------------------------------------------------------ | +| sql | string | 是 | 指定要执行的SQL语句。 | +| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数不填。 | **返回值**: @@ -2000,7 +2006,7 @@ querySql(sql: string, bindArgs?: Array<ValueType>):Promise<ResultSet> **示例:** ```js -let promise = store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo']); +let promise = store.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = 'sanguo'"); promise.then((resultSet) => { console.info(`ResultSet column names: ${resultSet.columnNames}`); console.info(`ResultSet column count: ${resultSet.columnCount}`); @@ -2019,22 +2025,22 @@ executeSql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallbac **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------ | ---- | ---------------------- | -| sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。 | -| callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------ | ---- | ------------------------------------------------------------ | +| sql | string | 是 | 指定要执行的SQL语句。 | +| bindArgs | Array<[ValueType](#valuetype)> | 是 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数需为空数组。 | +| callback | AsyncCallback<void> | 是 | 指定callback回调函数。 | **示例:** ```js -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)" -store.executeSql(SQL_CREATE_TABLE, null, function(err) { +const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = ?" +store.executeSql(SQL_DELETE_TABLE, ['zhangsan'], function(err) { if (err) { console.error(`ExecuteSql failed, err: ${err}`); return; } - console.info(`Create table done.`); + console.info(`Delete table done.`); }) ``` @@ -2048,10 +2054,10 @@ executeSql(sql: string, bindArgs?: Array<ValueType>):Promise<void> **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| -------- | ------------------------------------ | ---- | --------------------- | -| sql | string | 是 | 指定要执行的SQL语句。 | -| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------ | ---- | ------------------------------------------------------------ | +| sql | string | 是 | 指定要执行的SQL语句。 | +| bindArgs | Array<[ValueType](#valuetype)> | 否 | SQL语句中参数的值。该值与sql参数语句中的占位符相对应。当sql参数语句完整时,该参数不填。 | **返回值**: @@ -2062,10 +2068,10 @@ executeSql(sql: string, bindArgs?: Array<ValueType>):Promise<void> **示例:** ```js -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 = store.executeSql(SQL_CREATE_TABLE); +const SQL_DELETE_TABLE = "DELETE FROM test WHERE name = 'zhangsan'" +let promise = store.executeSql(SQL_DELETE_TABLE); promise.then(() => { - console.info(`Create table done.`); + console.info(`Delete table done.`); }).catch((err) => { console.error(`ExecuteSql failed, err: ${err}`); }) @@ -2384,6 +2390,7 @@ obtainDistributedTableName(device: string, table: string, callback: AsyncCallbac ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceId = null; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -2392,7 +2399,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceId = devices[0].deviceId; + deviceId = devices[0].deviceId; }) store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName) { @@ -2436,6 +2443,7 @@ store.obtainDistributedTableName(deviceId, "EMPLOYEE", function (err, tableName) ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceId = null; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -2444,7 +2452,7 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceId = devices[0].deviceId; + deviceId = devices[0].deviceId; }) let promise = store.obtainDistributedTableName(deviceId, "EMPLOYEE"); @@ -2478,6 +2486,7 @@ sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceIds = []; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -2486,7 +2495,6 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceIds = []; for (var i = 0; i < devices.length; i++) { deviceIds[i] = devices[i].deviceId; } @@ -2534,6 +2542,7 @@ store.sync(relationalStore.SyncMode.SYNC_MODE_PUSH, predicates, function (err, r ```js import deviceManager from '@ohos.distributedHardware.deviceManager'; let dmInstance = null; +let deviceIds = []; deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) => { if (err) { @@ -2542,7 +2551,6 @@ deviceManager.createDeviceManager("com.example.appdatamgrverify", (err, manager) } dmInstance = manager; let devices = dmInstance.getTrustedDeviceListSync(); - let deviceIds = []; for (var i = 0; i < devices.length; i++) { deviceIds[i] = devices[i].deviceId; } -- GitLab