同步操作将从 OpenHarmony/docs 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
说明: 从 API Version 7 开始支持。
import dataRdb from '@ohos.data.rdb'
无
getRdbStore(config: StoreConfig, version: number, callback: AsyncCallback<RdbStore>): void
获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,结果以callback形式返回。
参数:
AsyncCallback<RdbStore> |
示例:
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) {
rdbStore.executeSql(SQL_CREATE_TABLE)
console.info(TAG + 'create table done.')
})
getRdbStore(config: StoreConfig, version: number): Promise<RdbStore>
获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,结果以Promise形式返回。
参数:
返回值:
Promise<RdbStore> |
示例:
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);
promise.then(async (rdbStore) => {
await rdbStore.executeSql(SQL_CREATE_TABLE, null)
}).catch((err) => {
expect(null).assertFail();
})
deleteRdbStore(name: string, callback: AsyncCallback<void>): void
删除数据库,结果以callback形式返回。
参数:
示例:
import dataRdb from '@ohos.data.rdb'
dataRdb.deleteRdbStore("RdbTest.db", function (err, rdbStore) {
console.info(TAG + 'delete store done.')})
deleteRdbStore(name: string): Promise<void>
使用指定的数据库文件配置删除数据库,结果以Promise形式返回。
参数:
返回值:
示例:
import dataRdb from '@ohos.data.rdb'
let promise = dataRdb.deleteRdbStore("RdbTest.db")
promise.then(()=>{
console.info(TAG + 'delete store done.')
})
表示关系型数据库(RDB)的谓词。该类确定RDB中条件表达式的值是true还是false。
constructor(name: string)
构造函数。
参数:
示例:
import dataRdb from '@ohos.data.rdb'
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
equalTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且值等于指定值的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "lisi")
notEqualTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且值不等于指定值的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.notEqualTo("NAME", "lisi")
beginWrap(): RdbPredicates
向谓词添加左括号。
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
endWrap(): RdbPredicates
向谓词添加右括号。
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "lisi")
.beginWrap()
.equalTo("AGE", 18)
.or()
.equalTo("SALARY", 200.5)
.endWrap()
or(): RdbPredicates
将或条件添加到谓词中。
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
.or()
.equalTo("NAME", "Rose")
and(): RdbPredicates
向谓词添加和条件。
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
.and()
.equalTo("SALARY", 200.5)
contains(field: string, value: string): RdbPredicat
配置谓词以匹配数据字段为String且value包含指定值的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.contains("NAME", "os")
beginsWith(field: string, value: string): RdbPredicates
配置谓词以匹配数据字段为String且值以指定字符串开头的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.beginsWith("NAME", "os")
endsWith(field: string, value: string): RdbPredicates
配置谓词以匹配数据字段为String且值以指定字符串结尾的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.endsWith("NAME", "se")
isNull(field: string): RdbPredicates
配置谓词以匹配值为null的字段。
参数:
返回值:
示例
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.isNull("NAME")
isNotNull(field: string): RdbPredicates
配置谓词以匹配值不为null的指定字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.isNotNull("NAME")
like(field: string, value: string): RdbPredicates
配置谓词以匹配数据字段为String且值类似于指定字符串的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.like("NAME", "%os%")
glob(field: string, value: string): RdbPredicates
配置RdbPredicates匹配数据字段为String的指定字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.glob("NAME", "?h*g")
between(field: string, low: ValueType, high: ValueType): RdbPredicates
将谓词配置为匹配数据字段为ValueType且value在给定范围内的指定字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.between("AGE", 10, 50)
notBetween(field: string, low: ValueType, high: ValueType): RdbPredicates
配置RdbPredicates以匹配数据字段为ValueType且value超出给定范围的指定字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.notBetween("AGE", 10, 50)
greaterThan(field: string, value: ValueType): RdbPredicatesgr
配置谓词以匹配数据字段为ValueType且值大于指定值的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.greaterThan("AGE", 18)
lessThan(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为valueType且value小于指定值的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.lessThan("AGE", 20)
greaterThanOrEqualTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且value大于或等于指定值的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.greaterThanOrEqualTo("AGE", 18)
lessThanOrEqualTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且value小于或等于指定值的字段。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.lessThanOrEqualTo("AGE", 20)
orderByAsc(field: string): RdbPredicates
配置谓词以匹配其值按升序排序的列。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.orderByAsc("NAME")
orderByDesc(field: string): RdbPredicates
配置谓词以匹配其值按降序排序的列。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.orderByDesc("AGE")
distinct(): RdbPredicates
配置谓词以过滤重复记录并仅保留其中一个。
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose").distinct("NAME")
let resultSet = await rdbStore.query(predicates, ["NAME"])
limitAs(value: number): RdbPredicates
设置最大数据记录数的谓词。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose").limitAs(3)
offsetAs(rowOffset: number): RdbPredicates
配置RdbPredicates以指定返回结果的起始位置。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose").offsetAs(3)
groupBy(fields: Array<string>): RdbPredicates
配置RdbPredicates按指定列分组查询结果。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.groupBy(["AGE", "NAME"])
indexedBy(indexName: string): RdbPredicates
配置RdbPredicates以指定索引列。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.indexedBy("SALARY_INDEX")
in(field: string, value: Array<ValueType>): RdbPredicates
配置RdbPredicates以匹配数据字段为ValueType数组且值在给定范围内的指定字段。
参数:
Array<ValueType> |
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.in("AGE", [18, 20])
notIn(field: string, value: Array<ValueType>): RdbPredicates
将RdbPredicates配置为匹配数据字段为ValueType且值超出给定范围的指定字段。
参数:
Array<ValueType> |
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.notIn("NAME", ["Lisa", "Rose"])
提供管理关系数据库(RDB)方法的接口。
insert(name: string, values: ValuesBucket, callback: AsyncCallback<number>):void
向目标表中插入一行数据,结果以callback形式返回。
参数:
示例:
const valueBucket = {
"NAME": "Lisa",
"AGE": 18,
"SALARY": 100.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]),
}
rdbStore.insert("EMPLOYEE", valueBucket, function (err, ret) {
expect(1).assertEqual(ret)
console.log(TAG + "insert first done: " + ret)})
insert(name: string, values: ValuesBucket):Promise<number>
向目标表中插入一行数据,结果以Promise形式返回。
参数:
返回值:
示例:
const valueBucket = {
"NAME": "Lisa",
"AGE": 18,
"SALARY": 100.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]),
}
let promise = rdbStore.insert("EMPLOYEE", valueBucket)
promise.then(async (ret) => {
await console.log(TAG + "insert first done: " + ret)
}).catch((err) => {})
update(values: ValuesBucket, rdbPredicates: RdbPredicates, callback: AsyncCallback<number>):void
根据RdbPredicates的指定实例对象更新数据库中的数据,结果以callback形式返回。
参数:
示例:
const valueBucket = {
"NAME": "Rose",
"AGE": 22,
"SALARY": 200.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]),
}
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
rdbStore.update(valueBucket, predicates, function (err, ret) {
console.log(TAG + "updated row count: " + changedRows)})
update(values: ValuesBucket, rdbPredicates: RdbPredicates):Promise<number>
根据RdbPredicates的指定实例对象更新数据库中的数据,结果以Promise形式返回。
参数:
返回值:
示例:
const valueBucket = {
"NAME": "Rose",
"AGE": 22,
"SALARY": 200.5,
"CODES": new Uint8Array([1, 2, 3, 4, 5]),
}
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
let promise = rdbStore.update(valueBucket, predicates)
promise.then(async (ret) => {
await console.log(TAG + "updated row count: " + changedRows)
}).catch((err) => {})
delete(rdbPredicates: RdbPredicates, callback: AsyncCallback<number>):void
根据rdbPredicates的指定实例对象从数据库中删除数据,结果以callback形式返回。
参数:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
rdbStore.delete(predicates, function (err, rows) {
console.log(TAG + "delete rows: " + rows)})
delete(rdbPredicates: RdbPredicates):Promise<number>
根据rdbPredicates的指定实例对象从数据库中删除数据,结果以Promise形式返回。
参数:
返回值:
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
let promise = rdbStore.delete(predicates)
promise.then((rows) => {
console.log(TAG + "delete rows: " + rows)
}).catch((err) => {})
query(rdbPredicates: RdbPredicates, columns: Array<string>, callback: AsyncCallback<ResultSet>):void
根据指定条件查询数据库中的数据,结果以callback形式返回。
参数:
AsyncCallback<ResultSet> |
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose")
rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) {
console.log(TAG + "resultSet column names:" + resultSet.columnNames)
console.log(TAG + "resultSet column count:" + resultSet.columnCount)})
query(rdbPredicates: RdbPredicates, columns: Array<string>):Promise<ResultSet>
根据指定条件查询数据库中的数据,结果以Promise形式返回。
参数:
返回值:
Promise<ResultSet> |
示例:
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose")
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promise.then((resultSet) => {
console.log(TAG + "resultSet column names:" + resultSet.columnNames)
console.log(TAG + "resultSet column count:" + resultSet.columnCount)})
executeSql(sql: string, bindArgs: Array<ValueType>, callback: AsyncCallback<void>):void
执行包含指定参数但不返回值的SQL语句,结果以callbck形式返回。
参数:
Array<ValueType> |
|||
示例:
rdbStore.executeSql("DELETE FROM EMPLOYEE", function () {
console.info(TAG + 'delete done.')})
executeSql(sql: string, bindArgs: Array<ValueType>):Promise<void>
执行包含指定参数但不返回值的SQL语句,结果以Promise形式返回。
参数:
Array<ValueType> |
返回值:
示例:
let promise = rdbStore.executeSql("DELETE FROM EMPLOYEE")
promise.then(() => {
console.info(TAG + 'delete done.')})
管理关系数据库配置。
用于表示允许的数据字段类型。
用于存储键值对。
ValueType| Uint8Array | null |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。