結(jié)果集
結(jié)果集是指用戶(hù)調(diào)用關(guān)系型數(shù)據(jù)庫(kù)查詢(xún)接口之后返回的結(jié)果集合,提供了多種靈活的數(shù)據(jù)訪問(wèn)方式,以便用戶(hù)獲取各項(xiàng)數(shù)據(jù)。
說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
本模塊首批接口從API version 7開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
使用說(shuō)明
需要通過(guò)[RdbStore.query()]獲取resultSet對(duì)象。
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
提供通過(guò)查詢(xún)數(shù)據(jù)庫(kù)生成的數(shù)據(jù)庫(kù)結(jié)果集的訪問(wèn)方法。
屬性
系統(tǒng)能力: 以下各項(xiàng)對(duì)應(yīng)的系統(tǒng)能力均為SystemCapability.DistributedDataManager.RelationalStore.Core。
名稱(chēng) | 參數(shù)類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnNames | Array | 是 | 獲取結(jié)果集中所有列的名稱(chēng)。 |
columnCount | number | 是 | 獲取結(jié)果集中的列數(shù)。 |
rowCount | number | 是 | 獲取結(jié)果集中的行數(shù)。 |
rowIndex | number | 是 | 獲取結(jié)果集當(dāng)前行的索引。 |
isAtFirstRow | boolean | 是 | 檢查結(jié)果集是否位于第一行。 |
isAtLastRow | boolean | 是 | 檢查結(jié)果集是否位于最后一行。 |
isEnded | boolean | 是 | 檢查結(jié)果集是否位于最后一行之后。 |
isStarted | boolean | 是 | 檢查指針是否移動(dòng)過(guò)。 |
isClosed | boolean | 是 | 檢查當(dāng)前結(jié)果集是否關(guān)閉。 |
getColumnIndex
getColumnIndex(columnName: string): number
根據(jù)指定的列名獲取列索引。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnName | string | 是 | 表示結(jié)果集中指定列的名稱(chēng)。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
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
根據(jù)指定的列索引獲取列名。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnIndex | number | 是 | 表示結(jié)果集中指定列的索引。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 返回指定列的名稱(chēng)。 |
示例:
const id = resultSet.getColumnName(0)
const name = resultSet.getColumnName(1)
const age = resultSet.getColumnName(2)
goTo
goTo(offset:number): boolean
向前或向后轉(zhuǎn)至結(jié)果集的指定行,相對(duì)于其當(dāng)前位置偏移。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
offset | number | 是 | 表示相對(duì)于當(dāng)前位置的偏移量。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 如果成功移動(dòng)結(jié)果集,則為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
轉(zhuǎn)到結(jié)果集的指定行。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
position | number | 是 | 表示要移動(dòng)到的指定位置。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 如果成功移動(dòng)結(jié)果集,則為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
轉(zhuǎn)到結(jié)果集的第一行。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 如果成功移動(dòng)結(jié)果集,則為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
轉(zhuǎn)到結(jié)果集的最后一行。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 如果成功移動(dòng)結(jié)果集,則為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
轉(zhuǎn)到結(jié)果集的下一行。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 如果成功移動(dòng)結(jié)果集,則為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
轉(zhuǎn)到結(jié)果集的上一行。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 如果成功移動(dòng)結(jié)果集,則為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
以字節(jié)數(shù)組的形式獲取當(dāng)前行中指定列的值。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnIndex | number | 是 | 指定的列索引,從0開(kāi)始。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Uint8Array | 以字節(jié)數(shù)組的形式返回指定列的值。 |
示例:
const codes = resultSet.getBlob(resultSet.getColumnIndex("CODES"))
getString
getString(columnIndex: number): string
以字符串形式獲取當(dāng)前行中指定列的值。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnIndex | number | 是 | 指定的列索引,從0開(kāi)始。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 以字符串形式返回指定列的值。 |
示例:
const name = resultSet.getString(resultSet.getColumnIndex("NAME"))
getLong
getLong(columnIndex: number): number
以Long形式獲取當(dāng)前行中指定列的值。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnIndex | number | 是 | 指定的列索引,從0開(kāi)始。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
number | 以Long形式返回指定列的值。 |
示例:
const age = resultSet.getLong(resultSet.getColumnIndex("AGE"))
getDouble
getDouble(columnIndex: number): number
以double形式獲取當(dāng)前行中指定列的值。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnIndex | number | 是 | 指定的列索引,從0開(kāi)始。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
number | 以double形式返回指定列的值。 |
示例:
const salary = resultSet.getDouble(resultSet.getColumnIndex("SALARY"))
isColumnNull
isColumnNull(columnIndex: number): boolean
檢查當(dāng)前行中指定列的值是否為null。
系統(tǒng)能力: SystemCapability.DistributedDataManager.RelationalStore.Core。
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
columnIndex | number | 是 | 指定的列索引,從0開(kāi)始。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 如果當(dāng)前行中指定列的值為null,則返回true,否則返回false。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
示例:
const isColumnNull = resultSet.isColumnNull(resultSet.getColumnIndex("CODES"))
close
close(): void
關(guān)閉結(jié)果集。
系統(tǒng)能力: 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')
})
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8706瀏覽量
151971 -
數(shù)據(jù)管理
+關(guān)注
關(guān)注
1文章
300瀏覽量
19684 -
數(shù)據(jù)庫(kù)
+關(guān)注
關(guān)注
7文章
3851瀏覽量
64708 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2393瀏覽量
43079
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
OpenHarmony關(guān)系型數(shù)據(jù)庫(kù)查詢(xún)結(jié)果呈現(xiàn)
![OpenHarmony關(guān)系型<b class='flag-5'>數(shù)據(jù)</b>庫(kù)查詢(xún)<b class='flag-5'>結(jié)果</b>呈現(xiàn)](https://file1.elecfans.com/web2/M00/81/ED/wKgaomQiu3SAEGtQAAR_GZJ6Sm0614.png)
數(shù)據(jù)管理功能詳解
HarmonyOS應(yīng)用開(kāi)發(fā)數(shù)據(jù)交互--關(guān)系型數(shù)據(jù)庫(kù)完整流程練習(xí)
基于Data Ability的關(guān)系型數(shù)據(jù)庫(kù)和數(shù)據(jù)管理能力,實(shí)現(xiàn)數(shù)據(jù)庫(kù)相關(guān)應(yīng)用服務(wù)的快速開(kāi)發(fā)
Harmony OS關(guān)系數(shù)據(jù)庫(kù)的使用方法
基于Rdb創(chuàng)建的一個(gè)Data_Ability的數(shù)據(jù)操作過(guò)程
OpenHarmony標(biāo)準(zhǔn)設(shè)備應(yīng)用開(kāi)發(fā)(三)——分布式數(shù)據(jù)管理
【學(xué)習(xí)打卡】OpenHarmony的分布式數(shù)據(jù)管理介紹
HarmonyOS數(shù)據(jù)管理與應(yīng)用數(shù)據(jù)持久化(一)
集中于車(chē)身開(kāi)發(fā)過(guò)程的數(shù)據(jù)管理技術(shù)研究
一種實(shí)時(shí)數(shù)據(jù)管理系統(tǒng)的開(kāi)發(fā)
工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)管理 | 什么是工業(yè)現(xiàn)場(chǎng)數(shù)據(jù)管理
試驗(yàn)數(shù)據(jù)管理系統(tǒng)TDM與SDM
鴻蒙開(kāi)發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedData (分布式數(shù)據(jù)管理)】
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b><b class='flag-5'>接口</b><b class='flag-5'>數(shù)據(jù)管理</b>:【@ohos.<b class='flag-5'>data</b>.distributedData (分布式<b class='flag-5'>數(shù)據(jù)管理</b>)】](https://file1.elecfans.com/web2/M00/ED/44/wKgaomZiYtqAeD3lAABQ0iJCe48630.png)
評(píng)論