鸿蒙开发接口数据管理:【data/rdb/resultSet (结果集)】

结果集

结果集是指用户调用关系型数据库查询接口之后返回的结果集合,提供了多种灵活的数据访问方式,以便用户获取各项数据。

说明:

本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

使用说明

需要通过[RdbStore.query()]获取resultSet对象。

import dataRdb from '@ohos.data.rdb';
let predicates = new dataRdb.RdbPredicates("EMPLOYEE")
predicates.equalTo("AGE", 18)
let promise = rdbStore.query(predicates, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promise.then((resultSet) => {
    console.log(TAG + "resultSet columnNames:" + resultSet.columnNames);
    console.log(TAG + "resultSet columnCount:" + resultSet.columnCount);})

ResultSet

提供通过查询数据库生成的数据库结果集的访问方法。

属性

系统能力:  以下各项对应的系统能力均为SystemCapability.DistributedDataManager.RelationalStore.Core。

名称参数类型必填说明
columnNamesArray获取结果集中所有列的名称。
columnCountnumber获取结果集中的列数。
rowCountnumber获取结果集中的行数。
rowIndexnumber获取结果集当前行的索引。
isAtFirstRowboolean检查结果集是否位于第一行。
isAtLastRowboolean检查结果集是否位于最后一行。
isEndedboolean检查结果集是否位于最后一行之后。
isStartedboolean检查指针是否移动过。
isClosedboolean检查当前结果集是否关闭。

getColumnIndex

getColumnIndex(columnName: string): number

根据指定的列名获取列索引。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
columnNamestring表示结果集中指定列的名称。

返回值:

类型说明
number返回指定列的索引。

示例:

resultSet.goToFirstRow()
const id = resultSet.getLong(resultSet.getColumnIndex("ID"))
const name = resultSet.getString(resultSet.getColumnIndex("NAME"))
const age = resultSet.getLong(resultSet.getColumnIndex("AGE"))
const salary = resultSet.getDouble(resultSet.getColumnIndex("SALARY"))

getColumnName

getColumnName(columnIndex: number): string

根据指定的列索引获取列名。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
columnIndexnumber表示结果集中指定列的索引。

返回值:

类型说明
string返回指定列的名称。

示例:

const id = resultSet.getColumnName(0)
const name = resultSet.getColumnName(1)
const age = resultSet.getColumnName(2)

goTo

goTo(offset:number): boolean

向前或向后转至结果集的指定行,相对于其当前位置偏移。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
offsetnumber表示相对于当前位置的偏移量。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

let predicatesgoto = new dataRdb.RdbPredicates("EMPLOYEE")
let promisequerygoto = rdbStore.query(predicatesgoto, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promisequerygoto.then((resultSet) {
    resultSet.goTo(1)
    resultSet.close()
}).catch((err) => {
    console.log('query failed')
})

goToRow

goToRow(position: number): boolean

转到结果集的指定行。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
positionnumber表示要移动到的指定位置。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

let predicatesgotorow = new dataRdb.RdbPredicates("EMPLOYEE")
let promisequerygotorow = rdbStore.query(predicatesgotorow, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promisequerygotorow.then((resultSet) {
    resultSet.goToRow(5)
    resultSet.close()
}).catch((err) => {
    console.log('query failed')
})

goToFirstRow

goToFirstRow(): boolean

转到结果集的第一行。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

let predicatesgoFirst = new dataRdb.RdbPredicates("EMPLOYEE")
let promisequerygoFirst = rdbStore.query(predicatesgoFirst, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promisequerygoFirst.then((resultSet) {
    resultSet.goToFirstRow()
    resultSet.close()
}).catch((err) => {
    console.log('query failed')
})

goToLastRow

goToLastRow(): boolean

转到结果集的最后一行。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

let predicatesgoLast = new dataRdb.RdbPredicates("EMPLOYEE")
let promisequerygoLast = rdbStore.query(predicatesgoLast, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promisequerygoLast.then((resultSet) {
    resultSet.goToLastRow()
    resultSet.close()
}).catch((err) => {
    console.log('query failed')
})

goToNextRow

goToNextRow(): boolean

转到结果集的下一行。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

let predicatesgoNext = new dataRdb.RdbPredicates("EMPLOYEE")
let promisequerygoNext = rdbStore.query(predicatesgoNext, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promisequerygoNext.then((resultSet) {
    resultSet.goToNextRow()
    resultSet.close()
}).catch((err) => {
    console.log('query failed')
})

goToPreviousRow

goToPreviousRow(): boolean

转到结果集的上一行。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

返回值:

类型说明
boolean如果成功移动结果集,则为true;否则返回false。

示例:

let predicatesgoPrev = new dataRdb.RdbPredicates("EMPLOYEE")
let promisequerygoPrev = rdbStore.query(predicatesgoPrev, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promisequerygoPrev.then((resultSet) {
    resultSet.goToPreviousRow()
    resultSet.close()
}).catch((err) => {
    console.log('query failed')
})

getBlob

getBlob(columnIndex: number): Uint8Array

以字节数组的形式获取当前行中指定列的值。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
columnIndexnumber指定的列索引,从0开始。

返回值:

类型说明
Uint8Array以字节数组的形式返回指定列的值。

示例:

const codes = resultSet.getBlob(resultSet.getColumnIndex("CODES"))

getString

getString(columnIndex: number): string

以字符串形式获取当前行中指定列的值。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
columnIndexnumber指定的列索引,从0开始。

返回值:

类型说明
string以字符串形式返回指定列的值。

示例:

const name = resultSet.getString(resultSet.getColumnIndex("NAME"))

getLong

getLong(columnIndex: number): number

以Long形式获取当前行中指定列的值。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
columnIndexnumber指定的列索引,从0开始。

返回值:

类型说明
number以Long形式返回指定列的值。

示例:

const age = resultSet.getLong(resultSet.getColumnIndex("AGE"))

getDouble

getDouble(columnIndex: number): number

以double形式获取当前行中指定列的值。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
columnIndexnumber指定的列索引,从0开始。

返回值:

类型说明
number以double形式返回指定列的值。

示例:

const salary = resultSet.getDouble(resultSet.getColumnIndex("SALARY"))

isColumnNull

isColumnNull(columnIndex: number): boolean

检查当前行中指定列的值是否为null。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

参数:

参数名类型必填说明
columnIndexnumber指定的列索引,从0开始。

返回值:

类型说明
boolean如果当前行中指定列的值为null,则返回true,否则返回false。

示例:

const isColumnNull = resultSet.isColumnNull(resultSet.getColumnIndex("CODES"))

close

close(): void

关闭结果集。

系统能力:  SystemCapability.DistributedDataManager.RelationalStore.Core。

示例:

let predicatesClose = new dataRdb.RdbPredicates("EMPLOYEE")
let promiseClose = rdbStore.query(predicatesClose, ["ID", "NAME", "AGE", "SALARY", "CODES"])
promiseClose.then((resultSet) {
    resultSet.close()
}).catch((err) => {
    console.log('resultset close failed')
})
  • 20
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值