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