阅读(2196) (10)

鸿蒙OS ResultSet

2022-10-28 10:08:50 更新

ResultSet

public interface ResultSet

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

抽象类 AbsResultSet 实现了 ResultSet 接口中的一些方法。

Since:

1

嵌套类摘要

修饰符和类型 接口 描述
static class ResultSet.ColumnType 定义结果集中列的数据类型。

方法总结

修饰符和类型 方法 描述
void close() 关闭结果集。
ListUri getAffectedByUris() 获取注册的 URI 列表以观察影响结果集的更改。
String[] getAllColumnNames() 获取结果集中所有列的名称。
byte[] getBlob(int columnIndex) 以字节数组的形式获取当前行中指定列的值。
int getColumnCount() 获取结果集中的列数。
int getColumnIndexForName(String columnName) 根据指定的列名获取列索引。
String getColumnNameForIndex(int columnIndex) 根据指定的列索引获取列名。
ResultSet.ColumnType getColumnTypeForIndex(int columnIndex) 根据指定的列索引获取数据类型。
double getDouble(int columnIndex) 以 double 形式获取当前行中指定列的值。
PacMap getExtensions() 获取结果集的扩展。
float getFloat(int columnIndex) 获取当前行中指定列的值作为浮点数。
int getInt(int columnIndex) 以 int 形式获取当前行中指定列的值。
long getLong(int columnIndex) 以long形式获取当前行中指定列的值。
int getRowCount() 获取结果集中的行数。
int getRowIndex() 获取结果集的当前索引。
short getShort(int columnIndex) 以short形式获取当前行中指定列的值。
String getString(int columnIndex) 以字符串形式获取当前行中指定列的值。
boolean goTo(int offset) 以相对于其当前位置的偏移量向前或向后转到结果集的指定行。
boolean goToFirstRow() 转到结果集的第一行。
boolean goToLastRow() 转到结果集的最后一行。
boolean goToNextRow() 转到结果集的下一行。
boolean goToPreviousRow() 转到结果集的上一行。
boolean goToRow(int rowIndex) 转到结果集的指定行。
boolean isAtFirstRow() 检查结果集是否位于第一行。
boolean isAtLastRow() 检查结果集是否位于最后一行。
boolean isClosed() 检查当前结果集是否关闭。
boolean isColumnNull(int columnIndex) 检查当前行中指定列的值是否为空。
boolean isEnded() 检查结果集是否位于最后一行之后。
boolean isStarted() 检查结果集是否已移动。
void registerObserver(DataObserver observer) 注册一个监听数据变化的观察者。
void setAffectedByUris(Object context, ListUri uris) 设置要观察的数据的 URI。
void setExtensions(PacMap extensions) 设置结果集的扩展。
void unregisterObserver(DataObserver observer) 取消注册一个监听数据变化的观察者。

方法详情

getAllColumnNames

String[] getAllColumnNames()

获取结果集中所有列的名称。

列名作为字符串数组返回,其中字符串的顺序与结果集中的列的顺序相同。

返回:

返回包含结果集中所有列名的字符串数组。

Since:

1

getColumnCount

int getColumnCount()

获取结果集中的列数。

返回的数字等于 getAllColumnNames 方法返回的字符串数组的长度。

返回:

返回结果集中的列数。

Since:

1

getColumnTypeForIndex

ResultSet.ColumnType getColumnTypeForIndex(int columnIndex)

根据指定的列索引获取数据类型。

返回值为枚举类型,可以是整数、浮点数、字符串、Blob或null。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引。

返回:

返回指定列的数据类型。

Since:

1

getColumnIndexForName

int getColumnIndexForName(String columnName)

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

列名作为输入参数传递。

参数:

参数名称 参数描述
columnName 指示结果集中指定列的名称。

返回:

返回指定列的索引。

Since:

1

getColumnNameForIndex

String getColumnNameForIndex(int columnIndex)

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

列索引作为输入参数传递。

参数:

参数名称 参数描述
columnIndex 指示结果集中指定列的索引。

返回:

返回指定列的名称。

Since:

1

getRowCount

int getRowCount()

获取结果集中的行数。

返回:

返回结果集中的行数。

Since:

1

getRowIndex

int getRowIndex()

获取结果集的当前索引。

结果集索引从 0 开始。

返回:

返回结果集的当前索引。

Since:

1

goTo

boolean goTo(int offset)

以相对于其当前位置的偏移量向前或向后转到结果集的指定行。 正偏移量表示向后移动,负偏移量表示向前移动。

参数:

参数名称 参数描述
offset 表示相对于当前位置的偏移量。

返回:

如果结果集移动成功并且没有超出范围,则返回 true; 否则返回 false。

Since:

1

goToRow

boolean goToRow(int rowIndex)

转到结果集的指定行。

参数:

参数名称 参数描述
rowIndex 表示指定行的索引,从0开始。

返回:

如果结果集移动成功,则返回 true; 否则返回 false。

Since:

1

goToFirstRow

boolean goToFirstRow()

转到结果集的第一行。

返回:

如果结果集移动成功,则返回 true; 否则返回 false,例如,如果结果集为空。

Since:

1

goToLastRow

boolean goToLastRow()

转到结果集的最后一行。

返回:

如果结果集移动成功,则返回 true; 否则返回 false,例如,如果结果集为空。

Since:

1

goToNextRow

boolean goToNextRow()

转到结果集的下一行。

返回:

如果结果集移动成功,则返回 true; 否则返回 false,例如,如果结果集已经在最后一行。

Since:

1

goToPreviousRow

boolean goToPreviousRow()

转到结果集的上一行。

返回:

如果结果集移动成功,则返回 true; 否则返回 false,例如,如果结果集已经在第一行。

Since:

1

isEnded

boolean isEnded()

检查结果集是否位于最后一行之后。

返回:

如果结果集位于最后一行之后,则返回 true; 否则返回 false。

Since:

1

isStarted

boolean isStarted()

检查结果集是否已移动。

返回:

如果结果集已被移动,则返回 true; 如果结果集尚未移动或结果集为空,则返回 false。

Since:

1

isAtFirstRow

boolean isAtFirstRow()

检查结果集是否位于第一行。

返回:

如果结果集位于第一行,则返回 true; 否则返回 false。

Since:

1

isAtLastRow

boolean isAtLastRow()

检查结果集是否位于最后一行。

返回:

如果结果集位于最后一行,则返回 true; 否则返回 false。

Since:

1

getBlob

byte[] getBlob(int columnIndex)

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

实现类判断当前行中指定列的值为null或指定列不是Blob类型时是否抛出异常。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

以字节数组的形式返回指定列的值。

Since:

1

getString

String getString(int columnIndex)

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

实现类判断当前行中指定列的值为空或指定列不是字符串类型时是否抛出异常。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

以字符串形式返回指定列的值。

Since:

1

getShort

short getShort(int columnIndex)

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

如果当前行中指定列的值为空,指定列不是整数类型,或者整数超出范围[Short.MIN_VALUE,Short.MAX_VALUE],实现类判断是否抛出异常。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

以 short 形式返回指定列的值。

Since:

1

getInt

int getInt(int columnIndex)

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

如果当前行中指定列的值为空、指定列不是整数类型或整数超出范围[Integer.MIN_VALUE, Integer.MAX_VALUE],实现类判断是否抛出异常。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

以 int 形式返回指定列的值。

Since:

1

getLong

long getLong(int columnIndex)

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

实现类判断当前行中指定列的值为空、指定列不是整数类型或整数超出范围[Long.MIN_VALUE, Long.MAX_VALUE]是否抛出异常。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

以 long 形式返回指定列的值。

Since:

1

getFloat

float getFloat(int columnIndex)

获取当前行中指定列的值作为浮点数。

实现类判断当前行中指定列的值为空、指定列不是浮点类型或浮点值不能用float表示时是否抛出异常。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

以浮点数形式返回指定列的值。

Since:

1

getDouble

double getDouble(int columnIndex)

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

实现类判断当前行中指定列的值为空、指定列不是浮点类型或浮点值不能用双精度表示时是否抛出异常。

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

以双精度形式返回指定列的值。

Since:

1

isColumnNull

boolean isColumnNull(int columnIndex)

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

参数:

参数名称 参数描述
columnIndex 表示指定的列索引,从 0 开始。

返回:

如果当前行中指定列的值为null,则返回true; 否则返回 false。

Since:

1

isClosed

boolean isClosed()

检查当前结果集是否关闭。

如果调用 close 方法关闭结果集,则返回 true。

返回:

如果结果集关闭,则返回 true; 否则返回 false。

Since:

1

close

void close()

关闭结果集。

在结果集上调用此方法将释放其所有资源并使其无效。

Since:

1

setExtensions

void setExtensions(PacMap extensions)

设置结果集的扩展。

您可以根据您的服务需求设置扩展。

参数:

参数名称 参数描述
extensions 指示要设置的扩展名。

Since:

2

getExtensions

PacMap getExtensions()

获取结果集的扩展。

您将获得的扩展是根据您的服务要求设置的。

返回:

返回结果集的扩展。

Since:

2

setAffectedByUris

void setAffectedByUris(Object context, ListUri uris)

设置要观察的数据的 URI。

设置好 URI 后,调用 ResultSet#registerObserver 方法注册一个监听数据变化的观察者。

参数:

参数名称 参数描述
context 表示上下文。
uris 用于观察影响此 ResultSet 的更改的 Uri 列表。

Since:

2

getAffectedByUris

ListUri getAffectedByUris()

获取注册的 URI 列表以观察影响结果集的更改。

URI 列表是使用 ResultSet#setAffectedByUris 方法设置的。

返回:

返回 URI 列表。

Since:

3

registerObserver

void registerObserver(DataObserver observer)

注册一个监听数据变化的观察者。

当接收到指定 URI 的数据更改通知时,将触发该观察者。

参数:

参数名称 参数描述
observer 表示要注册的观察者。

Since:

2

unregisterObserver

void unregisterObserver(DataObserver observer)

取消注册一个监听数据变化的观察者。

该方法用于在观察者所属的组件被销毁之前释放观察者。

参数:

参数名称 参数描述
observer 指示要注销的观察者。

Since:

2