@ohos.data.dataShareResultSet (Data Share Result Set)

The DataShareResultSet module provides APIs for accessing the result set obtained from the database. You can access the values in the specified rows or the value of the specified data type.

NOTE

  • The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.

  • The APIs provided by this module are system APIs.

  • The APIs of this module can be used only in the stage model.

Modules to Import

import DataShareResultSet from '@ohos.data.DataShareResultSet';

Usage

You can use query() to obtain a DataShareResultSet object.

import dataShare from '@ohos.data.dataShare';
import dataSharePredicates from '@ohos.data.dataSharePredicates';
import { BusinessError } from '@ohos.base';
import UIAbility from '@ohos.app.ability.UIAbility';

let dataShareHelper: dataShare.DataShareHelper | undefined = undefined;
let uri = ("datashare:///com.samples.datasharetest.DataShare");
let context = getContext(UIAbility);
dataShare.createDataShareHelper(context, uri, (err:BusinessError, data:dataShare.DataShareHelper) => {
  if (err != undefined) {
    console.error("createDataShareHelper fail, error message : " + err);
  } else {
    console.info("createDataShareHelper end, data : " + data);
    dataShareHelper = data;
  }
});

let columns = ["*"];
let da = new dataSharePredicates.DataSharePredicates();
let resultSet: DataShareResultSet | undefined = undefined;
da.equalTo("name", "ZhangSan");
if (dataShareHelper != undefined) {
  (dataShareHelper as dataShare.DataShareHelper).query(uri, da, columns).then((data: DataShareResultSet) => {
    console.info("query end, data : " + data);
    resultSet = data;
  }).catch((err: BusinessError) => {
    console.error("query fail, error message : " + err);
  });
}

DataShareResultSet

Provides APIs for accessing the result sets returned.

The column or key names are returned as a string array, in which the strings are in the same order as the columns or keys in the result set.

Attributes

System capability: SystemCapability.DistributedDataManager.DataShare.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.
isClosed boolean Yes Whether the result set is closed.

goToFirstRow

goToFirstRow(): boolean

Moves to the first row of the result set.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Return value

Type Description
boolean Returns true if the operation is successful; returns false otherwise.

Example

// Create a resultSet object. For details, see Usage in this topic.
if (resultSet != undefined) {
  let isGoToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  console.info('resultSet.goToFirstRow: ' + isGoToFirstRow);
}

goToLastRow

goToLastRow(): boolean

Moves to the last row of the result set.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Return value

Type Description
boolean Returns true if the operation is successful; returns false otherwise.

Example

if (resultSet != undefined) {
  let isGoToLastRow = (resultSet as DataShareResultSet).goToLastRow();
  console.info('resultSet.goToLastRow: ' + isGoToLastRow);
}

goToNextRow

goToNextRow(): boolean

Moves to the next row in the result set.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Return value

Type Description
boolean Returns true if the operation is successful; returns false otherwise.

Example

if (resultSet != undefined) {
  let isGoToNextRow = (resultSet as DataShareResultSet).goToNextRow();
  console.info('resultSet.goToNextRow: ' + isGoToNextRow);
}

goToPreviousRow

goToPreviousRow(): boolean

Moves to the previous row in the result set.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Return value

Type Description
boolean Returns true if the operation is successful; returns false otherwise.

Example

if (resultSet != undefined) {
  let isGoToPreviousRow = (resultSet as DataShareResultSet).goToPreviousRow();
  console.info('resultSet.goToPreviousRow: ' + isGoToPreviousRow);
}

goTo

goTo(offset: number): boolean

Moves based on the specified offset.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
offset number Yes Offset relative to the current position. A negative value means to move backward, and a positive value means to move forward.

Return value

Type Description
boolean Returns true if the operation is successful; returns false otherwise.

Example

let goToNum = 1;
if (resultSet != undefined) {
  let isGoTo = (resultSet as DataShareResultSet).goTo(goToNum);
  console.info('resultSet.goTo: ' + isGoTo);
}

goToRow

goToRow(position: number): boolean

Moves to the specified row in the result set.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
position number Yes Position to move to, starting from 0.

Return value

Type Description
boolean Returns true if the operation is successful; returns false otherwise.

Example

let goToRowNum = 2;
if (resultSet != undefined) {
  let isGoToRow = (resultSet as DataShareResultSet).goToRow(goToRowNum);
  console.info('resultSet.goToRow: ' + isGoToRow);
}

getBlob

getBlob(columnIndex: number): Uint8Array

Obtains the value in the form of a byte array based on the specified column and the current row.

If the specified column or key is empty or the value is not of the Blob type, you need to determine whether to throw an exception.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
columnIndex number Yes Index of the target column, starting from 0.

Return value

Type Description
Uint8Array Value obtained.

Example

let columnIndex = 1;
if (resultSet != undefined) {
  let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  let getBlob = (resultSet as DataShareResultSet).getBlob(columnIndex);
  console.info('resultSet.getBlob: ' + getBlob);
}

getString

getString(columnIndex: number): string

Obtains the value in the form of a string based on the specified column and the current row.

If the specified column or key is empty or the value is not of the string type, you need to determine whether to throw an exception.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
columnIndex number Yes Index of the target column, starting from 0.

Return value

Type Description
string Value obtained.

Example

let columnIndex = 1;
if (resultSet != undefined) {
  let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  let getString = (resultSet as DataShareResultSet).getString(columnIndex);
  console.info('resultSet.getString: ' + getString);
}

getLong

getLong(columnIndex: number): number

Obtains the value in the form of a long integer based on the specified column and the current row.

If the specified column or key is empty or the value is not of the long type, you need to determine whether to throw an exception.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
columnIndex number Yes Index of the target column, starting from 0.

Return value

Type Description
number Value obtained.

Example

let columnIndex = 1;
if (resultSet != undefined) {
  let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  let getLong = (resultSet as DataShareResultSet).getLong(columnIndex);
  console.info('resultSet.getLong: ' + getLong);
}

getDouble

getDouble(columnIndex: number): number

Obtains the value in the form of a double-precision floating-point number based on the specified column and the current row.

If the specified column or key is empty or the value is not of the double type, you need to determine whether to throw an exception.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
columnIndex number Yes Index of the target column, starting from 0.

Return value

Type Description
number Value obtained.

Example

let columnIndex = 1;
if (resultSet != undefined) {
  let goToFirstRow = (resultSet as DataShareResultSet).goToFirstRow();
  let getDouble = (resultSet as DataShareResultSet).getDouble(columnIndex);
  console.info('resultSet.getDouble: ' + getDouble);
}

close

close(): void

Closes this result set.

Calling this API will invalidate the result set and release all its resources.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Example

if (resultSet != undefined) {
  (resultSet as DataShareResultSet).close();
}

getColumnIndex

getColumnIndex(columnName: string): number

Obtains the column index based on a column name.

The column name is passed in as an input parameter.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
columnName string Yes Column name.

Return value

Type Description
number Column index obtained.

Example

let ColumnName = "name";
if (resultSet != undefined) {
  let getColumnIndex = (resultSet as DataShareResultSet).getColumnIndex(ColumnName);
  console.info('resultSet.getColumnIndex: ' + getColumnIndex);
}

getColumnName

getColumnName(columnIndex: number): string

Obtains the column name based on a column index.

The column index is passed in as an input parameter.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
columnIndex number Yes Column index.

Return value

Type Description
string Column name obtained.

Example

let columnIndex = 1;
if (resultSet != undefined) {
  let getColumnName = (resultSet as DataShareResultSet).getColumnName(columnIndex);
  console.info('resultSet.getColumnName: ' + getColumnName);
}

getDataType

getDataType(columnIndex: number): DataType

Obtains the data type based on the specified column index.

If the specified column or key is empty or the value is not of the DataType type, you need to determine whether to throw an exception.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Parameters

Name Type Mandatory Description
columnIndex number Yes Column index.

Return value

Type Description
DataType Data type obtained.

Example

let columnIndex = 1;
if (resultSet != undefined) {
  let getDataType = (resultSet as DataShareResultSet).getDataType(columnIndex);
  console.info('resultSet.getDataType: ' + getDataType);
}

DataType

Enumerates the data types.

System capability: SystemCapability.DistributedDataManager.DataShare.Core

Name Value Description
TYPE_NULL 0 Null.
TYPE_LONG 1 Long integer.
TYPE_DOUBLE 2 Double-precision floating-point number.
TYPE_STRING 3 String.
TYPE_BLOB 4 Byte array.