Result Set
NOTE
The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Usage
You need to use RdbStore.query() to obtain the resultSet object.
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
Provides methods to access the result set, which is obtained by querying the relational database (RDB) store.
Attributes
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Name | Type | Mandatory | Description |
---|---|---|---|
columnNames | Array<string> | Yes | Names of all columns in the result set. |
columnCount | number | Yes | Number of columns in the result set. |
rowCount | number | Yes | Number of rows in the result set. |
rowIndex | number | Yes | Index of the current row in the result set. |
isAtFirstRow | boolean | Yes | Whether the cursor is in the first row of the result set. |
isAtLastRow | boolean | Yes | Whether the cursor is in the last row of the result set. |
isEnded | boolean | Yes | Whether the cursor is after the last row of the result set. |
isStarted | boolean | Yes | Whether the cursor has been moved. |
isClosed | boolean | Yes | Whether the result set is closed. |
getColumnIndex
getColumnIndex(columnName: string): number
Obtains the column index based on the column name.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
columnName | string | Yes | Column name specified. |
Return value
Type | Description |
---|---|
number | Index of the column obtained. |
Example
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
Obtains the column name based on the column index.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
columnIndex | number | Yes | Column index specified. |
Return value
Type | Description |
---|---|
string | Column name obtained. |
Example
const id = resultSet.getColumnName(0)
const name = resultSet.getColumnName(1)
const age = resultSet.getColumnName(2)
goTo
goTo(offset:number): boolean
Moves the cursor to the row based on the specified offset.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
offset | number | Yes | Offset relative to the current position. |
Return value
Type | Description |
---|---|
boolean | Returns true if the operation is successful; returns false otherwise. |
Example
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
Moves the cursor to the specified row in the result set.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
position | number | Yes | Position to which the cursor is to be moved. |
Return value
Type | Description |
---|---|
boolean | Returns true if the operation is successful; returns false otherwise. |
Example
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
Moves the cursor to the first row of the result set.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Return value
Type | Description |
---|---|
boolean | Returns true if the operation is successful; returns false otherwise. |
Example
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
Moves the cursor to the last row of the result set.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Return value
Type | Description |
---|---|
boolean | Returns true if the operation is successful; returns false otherwise. |
Example
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
Moves the cursor to the next row in the result set.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Return value
Type | Description |
---|---|
boolean | Returns true if the operation is successful; returns false otherwise. |
Example
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
Moves the cursor to the previous row in the result set.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Return value
Type | Description |
---|---|
boolean | Returns true if the operation is successful; returns false otherwise. |
Example
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
Obtains the value in the specified column in the current row as a byte array.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
columnIndex | number | Yes | Index of the specified column, starting from 0. |
Return value
Type | Description |
---|---|
Uint8Array | Value in the specified column as a byte array. |
Example
const codes = resultSet.getBlob(resultSet.getColumnIndex("CODES"))
getString
getString(columnIndex: number): string
Obtains the value in the specified column in the current row as a string.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
columnIndex | number | Yes | Index of the specified column, starting from 0. |
Return value
Type | Description |
---|---|
string | Value in the specified column as a string. |
Example
const name = resultSet.getString(resultSet.getColumnIndex("NAME"))
getLong
getLong(columnIndex: number): number
Obtains the value in the specified column in the current row as a Long.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
columnIndex | number | Yes | Index of the specified column, starting from 0. |
Return value
Type | Description |
---|---|
number | Value in the specified column as a Long. |
Example
const age = resultSet.getLong(resultSet.getColumnIndex("AGE"))
getDouble
getDouble(columnIndex: number): number
Obtains the value in the specified column in the current row as a double.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
columnIndex | number | Yes | Index of the specified column, starting from 0. |
Return value
Type | Description |
---|---|
number | Value in the specified column as a double. |
Example
const salary = resultSet.getDouble(resultSet.getColumnIndex("SALARY"))
isColumnNull
isColumnNull(columnIndex: number): boolean
Checks whether the value in the specified column of the current row is null.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
columnIndex | number | Yes | Index of the specified column, starting from 0. |
Return value
Type | Description |
---|---|
boolean | Returns true if the value is null; returns false otherwise. |
Example
const isColumnNull = resultSet.isColumnNull(resultSet.getColumnIndex("CODES"))
close
close(): void
Closes this result set.
System capability: SystemCapability.DistributedDataManager.RelationalStore.Core
Example
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('Failed to close resultset')
})