湖南专业做网站公司排名/深圳营销策划公司十强
关系型数据库
关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。
该模块提供以下关系型数据库相关的常用功能:
- [RdbPredicates]: 数据库中用来代表数据实体的性质、特征或者数据实体之间关系的词项,主要用来定义数据库的操作条件。
- [RdbStore]:提供管理关系数据库(RDB)方法的接口。
说明:
本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
导入模块
import data_rdb from '@ohos.data.rdb';
data_rdb.getRdbStore
getRdbStore(context: Context, config: StoreConfig, version: number, callback: AsyncCallback): void
获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
context | Context | 是 | 应用的上下文。 FA模型的应用Context定义见[Context]。 Stage模型的应用Context定义见[Context]。 |
config | [StoreConfig] | 是 | 与此RDB存储相关的数据库配置。 |
version | number | 是 | 数据库版本。 |
callback | AsyncCallback<[RdbStore]> | 是 | 指定callback回调函数,返回一个RdbStore。 |
示例:
const STORE_CONFIG = { name: "RdbTest.db"}
data_rdb.getRdbStore(this.context, STORE_CONFIG, 1, function (err, rdbStore) {if (err) {console.info("Get RdbStore failed, err: " + err)return}console.log("Get RdbStore successfully.")
})
data_rdb.getRdbStore
getRdbStore(context: Context, config: StoreConfig, version: number): Promise
获得一个相关的RdbStore,操作关系型数据库,用户可以根据自己的需求配置RdbStore的参数,然后通过RdbStore调用相关接口可以执行相关的数据操作,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
context | Context | 是 | 应用的上下文。 FA模型的应用Context定义见[Context]。 Stage模型的应用Context定义见[Context]。 |
config | [StoreConfig] | 是 | 与此RDB存储相关的数据库配置。 |
version | number | 是 | 数据库版本。 |
返回值:
类型 | 说明 |
---|---|
Promise<[RdbStore]> | 指定Promise回调函数。返回一个RdbStore。 |
示例:
const STORE_CONFIG = { name: "RdbTest.db" }
let promise = data_rdb.getRdbStore(this.context, STORE_CONFIG, 1);
promise.then(async (rdbStore) => {console.log("Get RdbStore successfully.")
}).catch((err) => {console.log("Get RdbStore failed, err: " + err)
})
data_rdb.deleteRdbStore
deleteRdbStore(context: Context, name: string, callback: AsyncCallback): void
删除数据库,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
context | Context | 是 | 应用的上下文。 FA模型的应用Context定义见[Context]。 Stage模型的应用Context定义见[Context]。 |
name | string | 是 | 数据库名称。 |
callback | AsyncCallback | 是 | 指定callback回调函数。 |
示例:
data_rdb.deleteRdbStore(this.context, "RdbTest.db", function (err, rdbStore) {if (err) {console.info("Delete RdbStore failed, err: " + err)return}console.log("Delete RdbStore successfully.")
})
data_rdb.deleteRdbStore
deleteRdbStore(context: Context, name: string): Promise
使用指定的数据库文件配置删除数据库,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
context | Context | 是 | 应用的上下文。 FA模型的应用Context定义见[Context]。 Stage模型的应用Context定义见[Context]。 |
name | string | 是 | 数据库名称。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指定Promise回调函数。 |
示例:
let promise = data_rdb.deleteRdbStore(this.context, "RdbTest.db")
promise.then(()=>{console.log("Delete RdbStore successfully.")
}).catch((err) => {console.info("Delete RdbStore failed, err: " + err)
})
RdbPredicates
表示关系型数据库(RDB)的谓词。该类确定RDB中条件表达式的值是true还是false。
constructor
constructor(name: string)
构造函数。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | 数据库表名。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
inDevices8+
inDevices(devices: Array): RdbPredicates
同步分布式数据库时指定组网内的远程设备。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
devices | Array | 是 | 指定的组网内的远程设备ID。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.inDevices(['12345678abcde'])
inAllDevices8+
inAllDevices(): RdbPredicates
同步分布式数据库时连接到组网内的所有远程设备。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.inAllDevices()
equalTo
equalTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且值等于指定值的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | [ValueType] | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "lisi")
notEqualTo
notEqualTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且值不等于指定值的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | [ValueType] | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.notEqualTo("NAME", "lisi")
beginWrap
beginWrap(): RdbPredicates
向谓词添加左括号。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回带有左括号的Rdb谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "lisi").beginWrap().equalTo("AGE", 18).or().equalTo("SALARY", 200.5).endWrap()
endWrap
endWrap(): RdbPredicates
向谓词添加右括号。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回带有右括号的Rdb谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "lisi").beginWrap().equalTo("AGE", 18).or().equalTo("SALARY", 200.5).endWrap()
or
or(): RdbPredicates
将或条件添加到谓词中。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回带有或条件的Rdb谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa").or().equalTo("NAME", "Rose")
and
and(): RdbPredicates
向谓词添加和条件。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回带有和条件的Rdb谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa").and().equalTo("SALARY", 200.5)
contains
contains(field: string, value: string): RdbPredicates
配置谓词以匹配数据字段为string且value包含指定值的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | string | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.contains("NAME", "os")
beginsWith
beginsWith(field: string, value: string): RdbPredicates
配置谓词以匹配数据字段为string且值以指定字符串开头的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | string | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.beginsWith("NAME", "os")
endsWith
endsWith(field: string, value: string): RdbPredicates
配置谓词以匹配数据字段为string且值以指定字符串结尾的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | string | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.endsWith("NAME", "se")
isNull
isNull(field: string): RdbPredicates
配置谓词以匹配值为null的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
- 示例
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.isNull("NAME")
isNotNull
isNotNull(field: string): RdbPredicates
配置谓词以匹配值不为null的指定字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.isNotNull("NAME")
like
like(field: string, value: string): RdbPredicates
配置谓词以匹配数据字段为string且值类似于指定字符串的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | string | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.like("NAME", "%os%")
glob
glob(field: string, value: string): RdbPredicates
配置RdbPredicates匹配数据字段为string的指定字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | string | 是 | 指示要与谓词匹配的值。 支持通配符,*表示0个、1个或多个数字或字符,?表示1个数字或字符。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.glob("NAME", "?h*g")
between
between(field: string, low: ValueType, high: ValueType): RdbPredicates
将谓词配置为匹配数据字段为ValueType且value在给定范围内的指定字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
low | [ValueType] | 是 | 指示与谓词匹配的最小值。 |
high | [ValueType] | 是 | 指示要与谓词匹配的最大值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.between("AGE", 10, 50)
notBetween
notBetween(field: string, low: ValueType, high: ValueType): RdbPredicates
配置RdbPredicates以匹配数据字段为ValueType且value超出给定范围的指定字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
low | [ValueType] | 是 | 指示与谓词匹配的最小值。 |
high | [ValueType] | 是 | 指示要与谓词匹配的最大值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.notBetween("AGE", 10, 50)
greaterThan
greaterThan(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且值大于指定值的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | [ValueType] | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.greaterThan("AGE", 18)
lessThan
lessThan(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为valueType且value小于指定值的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | [ValueType] | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.lessThan("AGE", 20)
greaterThanOrEqualTo
greaterThanOrEqualTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且value大于或等于指定值的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | [ValueType] | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.greaterThanOrEqualTo("AGE", 18)
lessThanOrEqualTo
lessThanOrEqualTo(field: string, value: ValueType): RdbPredicates
配置谓词以匹配数据字段为ValueType且value小于或等于指定值的字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | [ValueType] | 是 | 指示要与谓词匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.lessThanOrEqualTo("AGE", 20)
orderByAsc
orderByAsc(field: string): RdbPredicates
配置谓词以匹配其值按升序排序的列。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.orderByAsc("NAME")
orderByDesc
orderByDesc(field: string): RdbPredicates
配置谓词以匹配其值按降序排序的列。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.orderByDesc("AGE")
distinct
distinct(): RdbPredicates
配置谓词以过滤重复记录并仅保留其中一个。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回可用于过滤重复记录的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose").distinct("NAME")
let promise = rdbStore.query(predicates, ["NAME"])
promise.then((resultSet) => {console.log("resultSet column names:" + resultSet.columnNames)console.log("resultSet column count:" + resultSet.columnCount)
}).catch((err) => {console.log("query err.")
})
limitAs
limitAs(value: number): RdbPredicates
设置最大数据记录数的谓词。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
value | number | 是 | 最大数据记录数。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回可用于设置最大数据记录数的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose").limitAs(3)
offsetAs
offsetAs(rowOffset: number): RdbPredicates
配置RdbPredicates以指定返回结果的起始位置。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
rowOffset | number | 是 | 返回结果的起始位置,取值为正整数。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回具有指定返回结果起始位置的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose").offsetAs(3)
groupBy
groupBy(fields: Array): RdbPredicates
配置RdbPredicates按指定列分组查询结果。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
fields | Array | 是 | 指定分组依赖的列名。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回分组查询列的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.groupBy(["AGE", "NAME"])
indexedBy
indexedBy(field: string): RdbPredicates
配置RdbPredicates以指定索引列。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 索引列的名称。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回具有指定索引列的RdbPredicates。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.indexedBy("SALARY_INDEX")
in
in(field: string, value: Array): RdbPredicates
配置RdbPredicates以匹配数据字段为ValueType数组且值在给定范围内的指定字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | Array<[ValueType]> | 是 | 以ValueType型数组形式指定的要匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.in("AGE", [18, 20])
notIn
notIn(field: string, value: Array): RdbPredicates
将RdbPredicates配置为匹配数据字段为ValueType且值超出给定范围的指定字段。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
field | string | 是 | 数据库表中的列名。 |
value | Array<[ValueType]> | 是 | 以ValueType数组形式指定的要匹配的值。 |
返回值:
类型 | 说明 |
---|---|
[RdbPredicates] | 返回与指定字段匹配的谓词。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.notIn("NAME", ["Lisa", "Rose"])
RdbStore
提供管理关系数据库(RDB)方法的接口。
insert
insert(table: string, values: ValuesBucket, callback: AsyncCallback):void
向目标表中插入一行数据,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
table | string | 是 | 指定的目标表名。 |
values | [ValuesBucket] | 是 | 表示要插入到表中的数据行。 |
callback | AsyncCallback | 是 | 指定callback回调函数。如果操作成功,返回行ID;否则返回-1。 |
示例:
const valueBucket = {"NAME": "Lisa","AGE": 18,"SALARY": 100.5,"CODES": new Uint8Array([1, 2, 3, 4, 5]),
}
rdbStore.insert("EMPLOYEE", valueBucket, function (err, ret) {if (err) {console.info("Insert failed, err: " + err)return}console.log("Insert first done: " + ret)
})
insert
insert(table: string, values: ValuesBucket):Promise
向目标表中插入一行数据,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
table | string | 是 | 指定的目标表名。 |
values | [ValuesBucket] | 是 | 表示要插入到表中的数据行。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指定Promise回调函数。如果操作成功,返回行ID;否则返回-1。 |
示例:
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) => {console.log("Insert first done: " + ret)
}).catch((err) => {console.log("Insert failed, err: " + err)
})
update
update(values: ValuesBucket, predicates: RdbPredicates, callback: AsyncCallback):void
根据RdbPredicates的指定实例对象更新数据库中的数据,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
values | [ValuesBucket] | 是 | values指示数据库中要更新的数据行。键值对与数据库表的列名相关联。 |
predicates | [RdbPredicates] | 是 | RdbPredicates的实例对象指定的更新条件。 |
callback | AsyncCallback | 是 | 指定的callback回调方法。返回受影响的行数。 |
示例:
const valueBucket = {"NAME": "Rose","AGE": 22,"SALARY": 200.5,"CODES": new Uint8Array([1, 2, 3, 4, 5]),
}
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
rdbStore.update(valueBucket, predicates, function (err, ret) {if (err) {console.info("Updated failed, err: " + err)return}console.log("Updated row count: " + ret)
})
update
update(values: ValuesBucket, predicates: RdbPredicates):Promise
根据RdbPredicates的指定实例对象更新数据库中的数据,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
values | [ValuesBucket] | 是 | values指示数据库中要更新的数据行。键值对与数据库表的列名相关联。 |
predicates | [RdbPredicates] | 是 | RdbPredicates的实例对象指定的更新条件。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指定的Promise回调方法。返回受影响的行数。 |
示例:
const valueBucket = {"NAME": "Rose","AGE": 22,"SALARY": 200.5,"CODES": new Uint8Array([1, 2, 3, 4, 5]),
}
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
let promise = rdbStore.update(valueBucket, predicates)
promise.then(async (ret) => {console.log("Updated row count: " + ret)
}).catch((err) => {console.info("Updated failed, err: " + err)
})
delete
delete(predicates: RdbPredicates, callback: AsyncCallback):void
根据RdbPredicates的指定实例对象从数据库中删除数据,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
predicates | [RdbPredicates] | 是 | RdbPredicates的实例对象指定的删除条件。 |
callback | AsyncCallback | 是 | 指定callback回调函数。返回受影响的行数。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
rdbStore.delete(predicates, function (err, rows) {if (err) {console.info("Delete failed, err: " + err)return}console.log("Delete rows: " + rows)
})
delete
delete(predicates: RdbPredicates):Promise
根据RdbPredicates的指定实例对象从数据库中删除数据,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
predicates | [RdbPredicates] | 是 | RdbPredicates的实例对象指定的删除条件。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指定Promise回调函数。返回受影响的行数。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Lisa")
let promise = rdbStore.delete(predicates)
promise.then((rows) => {console.log("Delete rows: " + rows)
}).catch((err) => {console.info("Delete failed, err: " + err)
})
query
query(predicates: RdbPredicates, columns: Array, callback: AsyncCallback):void
根据指定条件查询数据库中的数据,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
predicates | [RdbPredicates] | 是 | RdbPredicates的实例对象指定的查询条件。 |
columns | Array | 是 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
callback | AsyncCallback<[ResultSet]> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose")
rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"], function (err, resultSet) {if (err) {console.info("Query failed, err: " + err)return}console.log("ResultSet column names: " + resultSet.columnNames)console.log("ResultSet column count: " + resultSet.columnCount)
})
query
query(predicates: RdbPredicates, columns?: Array):Promise
根据指定条件查询数据库中的数据,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
predicates | [RdbPredicates] | 是 | RdbPredicates的实例对象指定的查询条件。 |
columns | Array | 否 | 表示要查询的列。如果值为空,则查询应用于所有列。 |
返回值:
类型 | 说明 |
---|---|
Promise<[ResultSet]> | 指定Promise回调函数。如果操作成功,则返回ResultSet对象。 |
示例:
let predicates = new data_rdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("NAME", "Rose")
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promise.then((resultSet) => {console.log("ResultSet column names: " + resultSet.columnNames)console.log("ResultSet column count: " + resultSet.columnCount)
}).catch((err) => {console.info("Query failed, err: " + err)
})
querySql8+
querySql(sql: string, bindArgs: Array, callback: AsyncCallback):void
根据指定SQL语句查询数据库中的数据,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sql | string | 是 | 指定要执行的SQL语句。 |
bindArgs | Array<[ValueType]> | 是 | SQL语句中参数的值。 |
callback | AsyncCallback<[ResultSet]> | 是 | 指定callback回调函数。如果操作成功,则返回ResultSet对象。 |
示例:
rdbStore.querySql("SELECT * FROM EMPLOYEE CROSS JOIN BOOK WHERE BOOK.NAME = ?", ['sanguo'], function (err, resultSet) {if (err) {console.info("Query failed, err: " + err)return}console.log("ResultSet column names: " + resultSet.columnNames)console.log("ResultSet column count: " + resultSet.columnCount)
})
querySql8+
querySql(sql: string, bindArgs?: Array):Promise
根据指定SQL语句查询数据库中的数据,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sql | string | 是 | 指定要执行的SQL语句。 |
bindArgs | Array<[ValueType]> | 否 | SQL语句中参数的值。 |
返回值:
类型 | 说明 |
---|---|
Promise<[ResultSet]> | 指定Promise回调函数。如果操作成功,则返回ResultSet对象。 |
示例:
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)
}).catch((err) => {console.info("Query failed, err: " + err)
})
executeSql
executeSql(sql: string, bindArgs: Array, callback: AsyncCallback):void
执行包含指定参数但不返回值的SQL语句,结果以callback形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sql | string | 是 | 指定要执行的SQL语句。 |
bindArgs | Array<[ValueType]> | 是 | SQL语句中参数的值。 |
callback | AsyncCallback | 是 | 指定callback回调函数。 |
示例:
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)"
rdbStore.executeSql(SQL_CREATE_TABLE, null, function(err) {if (err) {console.info("ExecuteSql failed, err: " + err)return}console.info('Create table done.')
})
executeSql
executeSql(sql: string, bindArgs?: Array):Promise
执行包含指定参数但不返回值的SQL语句,结果以Promise形式返回。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
sql | string | 是 | 指定要执行的SQL语句。 |
bindArgs | Array<[ValueType]> | 否 | SQL语句中参数的值。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指定Promise回调函数。 |
示例:
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)
promise.then(() => {console.info('Create table done.')
}).catch((err) => {console.info("ExecuteSql failed, err: " + err)
})
beginTransaction8+
beginTransaction():void
在开始执行SQL语句之前,开始事务。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
示例:
rdbStore.beginTransaction()
const valueBucket = {"name": "lisi","age": 18,"salary": 100.5,"blobType": new Uint8Array([1, 2, 3]),
}
rdbStore.insert("test", valueBucket, function (err, ret) {if (err) {console.info("Insert failed, err: " + err)return}console.log("Insert successfully: " + ret)
})
rdbStore.commit()
commit8+
commit():void
提交已执行的SQL语句。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
示例:
rdbStore.beginTransaction()
const valueBucket = {"name": "lisi","age": 18,"salary": 100.5,"blobType": new Uint8Array([1, 2, 3]),
}rdbStore.insert("test", valueBucket, function (err, ret) {if (err) {console.info("Insert failed, err: " + err)return}console.log("Insert successfully: " + ret)
})
rdbStore.commit()
rollBack8+
rollBack():void;
回滚已经执行的SQL语句。
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
示例:
try {rdbStore.beginTransaction()const valueBucket = {"id": 1,"name": "lisi","age": 18,"salary": 100.5,"blobType": new Uint8Array([1, 2, 3]),}rdbStore.insert("test", valueBucket, function (err, ret) {if (err) {console.info("Insert failed, err: " + err)return}console.log("Insert successfully: " + ret)})rdbStore.commit()
} catch (e) {rdbStore.rollBack()
}
setDistributedTables8+
setDistributedTables(tables: Array, callback: AsyncCallback): void
设置分布式列表,结果以callback形式返回。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
tables | Array | 是 | 要设置的分布式列表表名 |
callback | AsyncCallback | 是 | 指定callback回调函数。 |
示例:
rdbStore.setDistributedTables(["EMPLOYEE"], function (err) {if (err) {console.info('SetDistributedTables failed, err: ' + err)return}console.info('SetDistributedTables successfully.')
})
setDistributedTables8+
setDistributedTables(tables: Array): Promise
设置分布式列表,结果以Promise形式返回。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
tables | Array | 是 | 要设置的分布式列表表名。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指定Promise回调函数。 |
示例:
let promise = rdbStore.setDistributedTables(["EMPLOYEE"])
promise.then(() => {console.info("SetDistributedTables successfully.")
}).catch((err) => {console.info("SetDistributedTables failed, err: " + err)
})
obtainDistributedTableName8+
obtainDistributedTableName(device: string, table: string, callback: AsyncCallback): void
根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名, 结果以callback形式返回。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
device | string | 是 | 远程设备 。 |
table | string | 是 | 本地表名。 |
callback | AsyncCallback | 是 | 指定的callback回调函数。如果操作成功,返回远程设备的分布式表名。 |
示例:
rdbStore.obtainDistributedTableName("12345678abcde", "EMPLOYEE", function (err, tableName) {if (err) {console.info('ObtainDistributedTableName failed, err: ' + err)return}console.info('ObtainDistributedTableName successfully, tableName=' + tableName)
})
obtainDistributedTableName8+
obtainDistributedTableName(device: string, table: string): Promise
根据本地表名获取指定远程设备的分布式表名。在查询远程设备数据库时,需要使用分布式表名,结果以Promise形式返回。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
device | string | 是 | 远程设备。 |
table | string | 是 | 本地表名。 |
返回值:
类型 | 说明 |
---|---|
Promise | 指定Promise回调函数。如果操作成功,返回远程设备的分布式表名。 |
示例:
let promise = rdbStore.obtainDistributedTableName("12345678abcde", "EMPLOYEE")
promise.then((tableName) => {console.info('ObtainDistributedTableName successfully, tableName=' + tableName)
}).catch((err) => {console.info('ObtainDistributedTableName failed, err: ' + err)
})
sync8+
sync(mode: SyncMode, predicates: RdbPredicates, callback: AsyncCallback<Array<[string, number]>>): void
在设备之间同步数据, 结果以callback形式返回。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
mode | [SyncMode] | 是 | 指同步模式。该值可以是推、拉。 |
predicates | [RdbPredicates] | 是 | 约束同步数据和设备。 |
callback | AsyncCallback<Array<[string, number]>> | 是 | 指定的callback回调函数,用于向调用者发送同步结果。string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 |
示例:
let predicates = new data_rdb.RdbPredicates('EMPLOYEE')
predicates.inDevices(['12345678abcde'])
rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates, function (err, result) {if (err) {console.log('Sync failed, err: ' + err)return}console.log('Sync done.')for (let i = 0; i < result.length; i++) {console.log('device=' + result[i][0] + ' status=' + result[i][1])}
})
sync8+
sync(mode: SyncMode, predicates: RdbPredicates): Promise<Array<[string, number]>>
在设备之间同步数据,结果以Promise形式返回。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
mode | [SyncMode] | 是 | 指同步模式。该值可以是推、拉。 |
predicates | [RdbPredicates] | 是 | 约束同步数据和设备。 |
返回值:
类型 | 说明 |
---|---|
Promise<Array<[string, number]>> | 指定Promise回调函数,用于向调用者发送同步结果。string:设备ID;number:每个设备同步状态,0表示成功,其他值表示失败。 |
示例:
let predicates = new data_rdb.RdbPredicates('EMPLOYEE')
predicates.inDevices(['12345678abcde'])
let promise = rdbStore.sync(data_rdb.SyncMode.SYNC_MODE_PUSH, predicates)
promise.then((result) =>{console.log('Sync done.')for (let i = 0; i < result.length; i++) {console.log('device=' + result[i][0] + ' status=' + result[i][1])}
}).catch((err) => {console.log('Sync failed')
})
on(‘dataChange’)8+
on(event: ‘dataChange’, type: SubscribeType, observer: Callback<Array>): void
注册数据库的观察者。当分布式数据库中的数据发生更改时,将调用回调。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
event | string | 是 | 取值为’dataChange’,表示数据更改。 |
type | [SubscribeType] | 是 | 指在{@code SubscribeType}中定义的订阅类型。 |
observer | Callback<Array> | 是 | 指分布式数据库中数据更改事件的观察者。 |
示例:
function storeObserver(devices) {for (let i = 0; i < devices.length; i++) {console.log('device=' + devices[i] + ' data changed')}
}
try {rdbStore.on('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver)
} catch (err) {console.log('Register observer failed')
}
off(‘dataChange’)8+
off(event:‘dataChange’, type: SubscribeType, observer: Callback<Array>): void
从数据库中删除指定类型的指定观察者, 结果以callback形式返回。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
event | string | 是 | 取值为’dataChange’,表示数据更改。 |
type | [SubscribeType] | 是 | 指在{@code SubscribeType}中定义的订阅类型。 |
observer | Callback<Array> | 是 | 指已注册的数据更改观察者。 |
示例:
function storeObserver(devices) {for (let i = 0; i < devices.length; i++) {console.log('device=' + devices[i] + ' data changed')}
}
try {rdbStore.off('dataChange', data_rdb.SubscribeType.SUBSCRIBE_TYPE_REMOTE, storeObserver)
} catch (err) {console.log('Unregister observer failed')
}
StoreConfig
管理关系数据库配置。
系统能力: 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
name | string | 是 | 数据库文件名。 |
ValueType
用于表示允许的数据字段类型。
系统能力: 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。
名称 | 说明 |
---|---|
number | 表示值类型为数字。 |
string | 表示值类型为字符。 |
boolean | 表示值类型为布尔值。 |
ValuesBucket
用于存储键值对。
系统能力: 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。
名称 | 参数类型 | 必填 | 说明 |
---|---|---|---|
[key: string] | [ValueType] | Uint8Array | null |
SyncMode8+
指数据库同步模式。
系统能力: 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。
名称 | 默认值 | 说明 |
---|---|---|
SYNC_MODE_PUSH | 0 | 表示数据从本地设备推送到远程设备。 |
SYNC_MODE_PULL | 1 | 表示数据从远程设备拉至本地设备。 |
SubscribeType8+
描述订阅类型。
需要权限: ohos.permission.DISTRIBUTED_DATASYNC
系统能力: 以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。
名称 | 默认值 | 说明 |
---|---|---|
SUBSCRIBE_TYPE_REMOTE | 0 | 订阅远程数据更改。 |
相关文章:

鸿蒙开发接口数据管理:【@ohos.data.rdb (关系型数据库)】
关系型数据库 关系型数据库(Relational Database,RDB)是一种基于关系模型来管理数据的数据库。关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可…...

Java返回前端Bigdecimal类型数据时“0E-8“及小数点多余0的问题
目录 问题描述: 解决方法: 重要代码: 问题描述: 项目中oracle数据库需要转换为mysql,Oracle中的表字段定义为number(36,16)类型的工具自动转换为mysql的decimal(36,16)。在Oracle数据库中,number(36,16)类型的字段,使用BigDeci…...

标题:深入探索Linux中的`ausyscall`
标题:深入探索Linux中的ausyscall(注意:ausyscall并非Linux内核标准命令,但我们可以探讨类似的概念) 在Linux系统中,系统调用(syscall)是用户空间程序与内核空间进行交互的一种重要…...

CorelDRAW2024发布更新啦!设计师们的得力助手
在数字化的今天,视觉设计已经成为我们生活中不可或缺的一部分。从手机界面到广告海报,从网页布局到包装设计,每一个细节都离不开设计师们的专业与创意。然而,面对日益增长的设计需求和不断提升的审美标准,许多设计师开…...

SpringMVC日期格式处理 分页条件查询
实现日期格式处理: springmvc能实现String类型和基本数据类型及包装类的自动格式转换,但是不能识别String和 日期类格式的自动转换。 实现方式: 1是在实体类上加上注解DateTimeFormat,识别String格式为“yyyy-MM-dd” 2使用自定义…...

蓝桥云课第12届强者挑战赛
第一题:字符串加法 其实本质上就是一个高精度问题,可以使用同余定理的推论 (ab)%n((a%n)(b%n))%n; #include <iostream> using namespace std; const int mod1e97; int main() {string a,b;cin>>a>>b;ab;int …...

LabVIEW储油罐监控系统
LabVIEW储油罐监控系统 介绍了基于LabVIEW的储油罐监控系统的设计与实施。系统通过集成传感器技术和虚拟仪器技术,实现对储油罐内液位和温度的实时监控,提高了油罐监管的数字化和智能化水平,有效增强了油库安全管理的能力。 项目背景 随着…...

局域网、城域网、广域网的ip
一、 广域网ip: 全球共享同一个广域网,所以广域网也被称为公网,所以广域网的ip也称为公网ip,全球公网ip必须是都是唯一的,不能冲突。 二、城域网、局域网ip: 可以有无数个局域网、城域网,虽然在…...

【全开源】Java共享茶室棋牌室无人系统支持微信小程序+微信公众号
打造智能化休闲新体验 一、引言:智能化休闲时代的来临 随着科技的飞速发展,智能化、无人化服务逐渐渗透到我们生活的各个领域。在休闲娱乐行业,共享茶室棋牌室无人系统源码的出现,不仅革新了传统的休闲方式,更为消费…...

echarts数据更新没反应解决方案
数据处理逻辑问题: 确保data数组在传入函数时确实发生了变化,并且这些变化对于生成newData1和newData2是有效的。您可以增加一些日志输出来验证处理后的数据是否如预期那样被更新了。 ECharts实例未正确更新: 虽然使用了myChart.setOption…...

RK3588+FPGA+算能BM1684X:高性能AI边缘计算盒子,应用于视频分析、图像视觉等
搭载RK3588(四核 A76四核 A55),CPU主频高达 2.4GHz ,提供1MB L2 Cache 和 3MB L3 ,Cache提供更强的 CPU运算能力,具备6T AI算力,可扩展至38T算力。 产品规格 系统主控CPURK3588,四核…...

Mysql学习(三)——SQL通用语法之DML
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 DML添加数据修改数据删除数据 总结 DML DML用来对数据库中表的数据记录进行增删改操作。 添加数据 -- 给指定字段添加数据 insert into 表名(字段1,字…...

java static 如何理解
在Java中,static关键字是一个重要的概念,它用于定义类的静态成员,包括静态变量(也称作类变量)、静态方法和静态代码块。static关键字的主要作用是创建独立于对象的成员,这些成员属于类本身,而不…...

算法金 | 不愧是腾讯,问基础巨细节 。。。
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 最近,有读者参加了腾讯算法岗位的面试,面试着重考察了基础知识,并且提问非常详细。 特别是关于Ada…...

实验9 浮动静态路由配置
--名称-- 一、 原理描述二、 实验目的三、 实验内容四、 实验配置五、 实验步骤 一、 原理描述 浮动静态路由也是一种特殊的静态路由,主要考虑链路冗余。浮动静态路由通过配置一条比主路由优先级低的静态路由,用于保证在主路由失效的情况下,…...

多源最短路径算法–Floyd算法
多源最短路径算法–Floyd算法 Floyd算法是为了求出每一对顶点之间的最短路径 它使用了动态规划的思想,将问题的求解分为了多个阶段 先来个例子,这是个有向图 Floyd算法的运行需要两个矩阵 最短路径矩阵 从当前这个状态看各顶点间的最短路径长度 例…...

使用Redis缓存实现短信登录逻辑,手机验证码缓存,用户信息缓存
引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency> 加配置 spring:redis:host: 127.0.0.1 #redis地址port: 6379 #端口password: 123456 #密码…...

探索未来制造,BFT Robotics引领潮流
“买机器人,上BFT” 在这个快速变化的时代,创新和效率是企业发展的关键。BFT Robotics,作为您值得信赖的合作伙伴,专注于为您提供一站式的机器人采购和自动化解决方案。 产品系列: 协作机器人:安全、灵活、…...

数组中的第K个最大元素 ---- 分治-快排
题目链接 题目: 分析: 这道题很明显是一个top-K问题, 我们很容易想到用堆排序来解决, 堆排序的时间复杂度是O(N*logN), 不符合题意, 所以我们可以用另一种方法:快速选择算法, 他的时间复杂度为O(N)快速选择算法, 其实是基于快排, 进行修改而成, 我们还是使用将"将数组分…...

函数或变量 ‘tfrstft‘ 无法识别
参考博客 Matlab时频工具箱tftb下载及安装_tftb工具箱-CSDN博客 解决。...

在推荐四款软件卸载工具,让流氓软件无处遁形
Revo Uninstaller Revo Uninstaller是一款电脑软件、浏览器插件卸载软件,目前已经有了17年的历史了。可以扫描所有window用户卸载软件后的残留物,并及时清理,避免占用电脑空间。 Revo Uninstaller可以通过命令行卸载软件,可以快速…...

「前端+鸿蒙」核心技术HTML5+CSS3(十一)
1、CSS3 简介 CSS3 是层叠样式表的最新标准,它引入了许多新特性来增强网页的表现力。CSS3 不仅增强了现有CSS属性的功能,还引入了新的布局方式、动画、渐变、阴影、边框效果等。 2、CSS3 长度单位 CSS3 引入了一些新的单位,包括但不限于: vw(视口宽度的百分比)vh(视口…...

【高频】如何优化一个SQL语句
使用合适的索引:确保查询中涉及的字段上有合适的索引,避免全表扫描。可以通过 EXPLAIN 命令来查看查询执行计划,判断是否使用了索引。 避免使用通配符查询:尽量避免在查询条件中使用通配符(如 %)ÿ…...

Oracle EBS AP发票创建会计科目提示:APP-SQLAP-10710:无法联机创建会计分录
系统版本 RDBMS : 12.1.0.2.0 Oracle Applications : 12.2.6 问题症状: 提交“创建会计科目”请求提示错误信息如下: APP-SQLAP-10710:无法联机创建会计分录。 请提交应付款管理系统会计流程,而不要为此事务处理创建会计分录解决方法 数据修复SQL脚本: UPDATE ap_invoi…...

T-Pot多功能蜜罐实践@debian12@FreeBSD
T-Pot介绍 T-Pot是一个集所有功能于一身的、可选择分布式的多构架(amd64,arm64)蜜罐平台,支持20多个蜜罐和很多可视化选项,使用弹性堆栈、动画实时攻击地图和许多安全工具来进一步改善欺骗体验。GitHub - telekom-sec…...

Sed流编辑器总结
sed 是 Unix 和 Linux 系统中的一个强大的流编辑器。它用于对文本进行基本的修改和处理。以下是关于 sed 的详细解说,包括其基本语法,常见用法和一些高级用法。 基本语法 sed [选项] 命令 输入文件常见选项 -e:指定要执行的 sed 命令。-f&a…...

智合同丨AIGC如何助力合同智能应用
#AIGC #合同智能应用 #智合同 AIGC,即人工智能生成内容技术(Artificial Intelligence Generated Content),近期在各个领域发展可谓是如火如荼,那么它在合同智能应用方面可以提供哪些助力? 让我们和智合…...

CSRF 令牌的生成过程和检查过程
在 Django 中,CSRF 令牌的生成和检查过程是通过 Django 的 CSRF 中间件 (CsrfViewMiddleware) 和模板标签 ({% csrf_token %}) 自动处理的。以下是详细的生成和检查过程: CSRF 令牌的生成过程 用户访问页面: 当用户第一次访问页面时,Django 会为用户创建一个会话。如果用户…...

计算机网络学习记录 网络层 Day4(下)
计算机网络学习记录 网络层 Day4 (下) 你好,我是Qiuner. 为记录自己编程学习过程和帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner ⭐️ gitee https://gitee.com/Qiuner 🌹 如果本篇文章帮到了你 不妨点个赞吧~ 我…...

3、前端本地环境搭建
前端本地环境搭建 安装node [node下载地址] https://nodejs.org/en/download/prebuilt-installer 选择LTS的版本进行下载 下载后直接双击点击,选择自己想要安装到的目录一直点下一步即可(建议不要安装到c盘) 安装完成后配置环境变量&am…...