ResultSet类

ResultSet提供对执行语句生成的数据表的访问。按顺序检索表行。在一行中,可以以任何顺序访问列值。

ResultSet维护一个指向其当前数据行的游标。最初,游标定位在第一行之前。下一个方法将光标移动到下一行。

ResultSet的列的数量、类型和属性由getColumnListMetaData()方法返回的元数据对象提供。

cancel()

取消结果集。

语法

void cancel();

getBDouble()

以BDouble的形式返回当前行中某个列的值。如果值为SQL NULL,则结果为NULL。

语法

BDouble getBDouble(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getBfile()

以Bfile的形式返回当前行的列的值。返回列值;如果值为SQL NULL,则结果为NULL。

语法

Bfile getBfile(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getBFloat()

以BFloat的形式返回当前行的列的值。如果值为SQL NULL,则结果为NULL。

语法

BFloat getBFloat(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getBlob()

获取当前行中作为Blob的列的值。返回列值;如果值为SQL NULL,则结果为NULL。

语法

Blob getBlob(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getBytes()

结果为NULL。以字节数组的形式获取当前行中的列的值,返回列值。字节表示服务器返回的原始值。如果值为SQL NULL,则结果为NULL数组。

语法

Bytes getBytes(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getCharSet()

提取要获取的数据的字符集,以字符串形式返回。

语法

string getCharSet(

   unsigned int colIndex) const;
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getCharSetUString()

提取要获取的数据的字符集,以字符串形式返回。(UString为字符集支持)

语法

UString getCharSetUString(

      unsigned int colIndex) const
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getClob()

语法

Clob getClob(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getColumnListMetaData()

ResultSet列的数量、类型和属性由getMetaData方法提供。

语法

vector<MetaData> getColumnListMetaData() const;

getDate()

获取当前行中的日期对象的列的值。返回列值;如果值为SQL NULL,则结果为NULL。

语法

Date getDate(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getDouble()

获取当前行中c++双精度值列的值。返回列值;如果值为SQL NULL,则结果为0。

语法

double getDouble(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getFloat()

以c++浮点数的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为0。

语法

float getFloat(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getInt()

以c++ int的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为0。

语法

int getInt(

    unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getIntervalDS()

以IntervalDS对象的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为NULL。

语法

IntervalDS getIntervalDS(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getIntervalYM()

以IntervalYM对象的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为NULL。

语法

IntervalYM getIntervalYM(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getMaxColumnSize()

获取通过setMaxColumnSize()设置的值。

语法

unsigned int getMaxColumnSize(

   unsigned int colIndex) const;
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getNumArrayRows()

返回在最后一次数组获取中获取的实际行数。与next()方法一起使用。此方法不能用于非数组获取。

语法

unsigned int getNumArrayRows() const;

getNumber()

以Number对象的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为NULL。

语法

Number getNumber(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getStatement()

此方法返回ResultSet的语句。

语法

Statement* getStatement() const;

getString()

以字符串形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为空字符串。

语法

string getString(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getUString()

以字符串形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为空字符串。(UString为字符集支持)

语法

string getUString(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getTimestamp()

以时间戳对象的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为空字符串。

语法

Timestamp getTimestamp(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getUInt()

以unsigned int的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为空字符串。

语法

unsigned int getUInt(

   unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

isNull()

一个列的值可能是SQL NULL;isNull()报告最后读取的列是否有这个特殊值。注意,必须首先对列调用getxxx()来尝试读取它的值,然后调用isNull()来查找该值是否为SQL NULL。如果最后读取的列为SQL NULL,则返回TRUE。

语法

bool isNull(

    unsigned int colIndex) const;
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

isTruncated()

检查参数的值是否被截断。如果参数的值被截断,则返回TRUE;否则,返回FALSE。

语法

bool isTruncated(

   unsigned int paramIndex) const;
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

setCharSet()

设置列的字符集。

语法

void setCharSet(

   unsigned int colIndex,

   string charSet);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。
charSet 字符集

setCharSetUString()

设置列的字符集。(UString为字符集支持)

语法

void setCharSetUString(

      unsigned int colIndex,

      const UString & charSet);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。
charSet 字符集

setDataBuffer()

指定将在其中提取或绑定数据的数据缓冲区。缓冲区参数是指向用户分配的数据缓冲区的指针。数据的当前长度必须在length参数中指定。数据量不应超过size参数。

数据类型只能使用非ACCI和非C++自定义类型,比如string,不能使用Bytes和Date。

语法

void setDataBuffer(

   unsigned int colIndex,

   void *buffer,

   Type type,

   sb4 size = 0,

   ub2 *length = NULL,

   sb2 *ind = NULL,

   ub2 *rc = NULL);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。
buffer 指向用户分配缓冲区的指针。
buffer 在缓冲区中提供(或检索)的数据类型。
size 数据缓冲区的大小。
length 指向缓冲区中数据长度的指针。
ind 指示器或者数组。
rc 数据的真实长度。

setErrorOnNull()

此方法在读取结果集的colIndex列上的空值时启用/禁用异常。

语法

void setErrorOnNull(

   unsigned int colIndex,

   bool causeException);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。
causeException 如果为TRUE,启用异常;如果为FALSE,禁用异常。

setMaxColumnSize()

指定从列中读取的最大数据量(以字节为单位)。

语法

void setMaxColumnSize(

   nsigned int colIndex,

   unsigned int max);

status()

返回结果集的当前状态。

语法

Status status() const;

setErrorOnTruncate()

当发生截断时,此方法启用/禁用异常。

语法

void setErrorOnTruncate(
    unsigned int paramIndex,
    bool causeException);
参数 描述
paramIndex 列索引,第一列是1,第二列是2,依此类推。
causeException 如果为TRUE,启用异常;如果为FALSE,禁用异常。

getUInt64()

以unsigned int64的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为空字符串。

语法

Uint64 getUInt64(
    unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getInt64()

以signed int64的形式获取当前行中的列的值。返回列值;如果值为SQL NULL,则结果为空字符串。

语法

Uint64 getInt64(
    unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getRowid()

获取SELECT ... FOR UPDATE语句的当前行ID。 行ID可以绑定到准备好的DELETE语句,依此类推。 返回SELECT ... FOR UPDATE语句的当前rowid。

语法

Bytes getRowid(
    unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。

getRowPosition()

获取当前行位置的rowid。

语法

Bytes getRowPosition() const;

getCursor()

获取嵌套的光标作为ResultSet。 可以从该结果集中获取数据。 嵌套游标是从带有CURSOR(SELECT ...)子句的嵌套查询中得出的:

语法

ResultSet * getCursor(
    unsigned int colIndex);
参数 描述
colIndex 列索引,第一列是1,第二列是2,依此类推。