Statement类¶
Statement对象用于执行SQL语句。语句可以是返回结果集的查询,也可以是返回更新计数的非查询语句。非查询SQL可以是insert、update或delete语句。非查询SQL语句也可以是DML语句(如create、grant等)或存储过程调用。
查询、插入/更新/删除或存储过程调用语句可能具有IN绑定参数,而存储过程调用语句可能具有OUT绑定参数,或者同时具有IN和OUT的绑定参数,称为IN/OUT参数。
closeResultSet()¶
当不需要结果集时,立即释放指定的resultSet数据库和ACCI资源。
语法
void closeResultSet(
ResultSet *resultSet);
| 参数 | 描述 |
|---|---|
| resultSet | 要关闭的结果集。 |
execute()¶
执行可以返回结果集或更新计数的SQL语句。语句可能具有必须写入的可读流,在这种情况下,执行的结果可能不可用。(UString为字符集支持)
| 参数 | 描述 |
|---|---|
Status execute( const string &sql=""); |
要执行SQL语句。 |
Status execute( const UString &sql); |
要执行SQL语句。 |
executeArrayUpdate()¶
执行insert/update/delete语句,这些语句仅对绑定参数使用setDataBuffer()。绑定参数必须是数组大小为arrayLength的参数。(UString为字符集支持)
| 参数 | 描述 |
|---|---|
Status executeArrayUpdate( const string &sql=""); |
绑定变量的每个缓冲区中提供的元素数量。 |
Status executeArrayUpdate( const UString &sql); |
绑定变量的每个缓冲区中提供的元素数量。 |
executeQuery()¶
运行返回ResultSet的SQL语句。被调用的语句应该是一个查询语句。返回一个ResultSet,其中包含查询生成的数据。(UString为字符集支持)
| 参数 | 描述 |
|---|---|
Status executeQuery( const string &sql=""); |
要执行SQL语句。 |
Status executeQuery( const UString &sql); |
要执行SQL语句。 |
executeUpdate()¶
执行非查询语句(如SQL INSERT、UPDATE、DELETE语句)、DDL语句(如CREATE/ALTER等)或存储过程调用。对于INSERT、UPDATE或DELETE,返回行数;对于不返回任何内容的SQL语句,返回0。
语法
unsigned int executeUpdate(
const string &sql="");
getBDouble()¶
返回SQL语句中绑定为OUT参数的DOUBLE列的值,如果值为SQL NULL,则结果为0。
语法
BDouble getBDouble(
unsigned int paramIndex) = 0;
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getBfile()¶
以BFILE对象的形式返回BFILE参数的值。
语法
Bfile getBfile(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getBFloat()¶
返回SQL语句中绑定为OUT参数的FLOAT列的值,如果值为SQL NULL,则结果为0。
语法
BFloat getBFloat(
unsigned int paramIndex) = 0;
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getBlob()¶
返回SQL语句中绑定为OUT参数的BLOB列的值,如果值为SQL NULL,则结果为0。
语法
Blob getBlob(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getClob()¶
以CLOB对象的形式返回CLOB参数的值。
语法
Clob getClob(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getCursor¶
以ResultSet的形式获取OUT参数的REF游标值。可以从这个结果集中获取数据。必须使用registerOutParam()方法将OUT参数注册为游标。返回输出参数值的ResultSet。
语法
ResultSet * getCursor(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getDate¶
以日期对象的形式获取SQL日期参数的值。返回参数值;如果值为SQL NULL,则结果为NULL。
语法
Date getDate(
unsigned int paramIndex) const;
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getDouble¶
以c++双精度值的形式获取双精度参数的值。返回参数值;如果值为SQL NULL,则结果为0。
语法
double getDouble(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getFloat¶
以c++ float的形式获取FLOAT参数的值。返回参数值;如果值为SQL NULL,则结果为0。
语法
float getFloat(
unsigned int paramIndex);
getInt¶
以c++ int的形式获取INT参数的值。返回参数值;如果值为SQL NULL,则结果为0。
语法
unsigned int getInt(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getIntervalDS¶
以IntervalDS对象的形式获取的参数值。
语法
IntervalDS getIntervalDS(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getIntervalYM¶
以IntervalYM对象的形式获取的参数值。
语法
IntervalYM getIntervalYM(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getNumber¶
以Number对象的形式获取NUMBER参数的值。返回参数值;如果值为SQL NULL,则结果为NULL。
语法
Number getNumber(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getStream¶
以流的形式返回参数值。
语法
Stream * getStream(
unsigned int paramIndex)
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getString¶
以字符串的形式获取CHAR、VARCHAR或LONGVARCHAR参数的值。返回参数值;如果值为SQL NULL,则结果为空字符串。
语法
string getString(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getUString¶
以字符串的形式获取CHAR、VARCHAR或LONGVARCHAR参数的值。返回参数值;如果值为SQL NULL,则结果为空字符串。
语法
UString getUString(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getTimestamp¶
以Timestamp对象的形式获取SQL TIMESTAMP参数的值。返回参数值;如果值为SQL NULL,则结果为NULL。
语法
Timestamp getTimestamp(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
getUInt¶
以C ++ unsigned int的形式获取BIGINT参数的值。 返回参数值; 如果值为SQL NULL,则结果为0。
语法
unsigned int getUInt(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
int的形式获取BIGINT参数的值。返回参数值;如果值为SQL NULL,则结果为0。
isNull¶
一个OUT参数的值可能是SQL NULL;isNull()报告最后读取的值是否有这个特殊的值。注意,必须首先对一个参数调用getxxx()来读取它的值,然后调用isNull()来查看该值是否为SQL NULL。如果最后读取的参数为SQL NULL,则返回TRUE。
语法
bool isNull(
unsigned int paramIndex ) const;
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
isTruncated¶
此方法检查参数的值是否被截断。如果参数的值被截断,则返回TRUE;否则,返回FALSE。
语法
bool isTruncated(
unsigned int paramIndex) const;
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
registerOutParam¶
这个方法注册PL/SQL存储过程的每个out参数的类型。在执行PL/SQL存储过程之前,必须显式调用此方法来注册每个out参数的类型。只有输出参数时才应该调用此方法。对 in/out参数使用setxxx()方法。(UString为字符集支持)
| 参数 | 描述 |
|---|---|
void registerOutParam( unsigned int paramIndex, Type type, unsigned int maxSize const string &sqltype |
参数指标;第一个参数是1,第二个是2,依此类推。 按类型定义的SQL类型代码;只有与ACCI数据类型(如日 期、字节等)对应的数据类型。 检索值的最大大小。对于ACCIBYTESAOCCISTRING的数据 类型,maxSize应该大于0。(默认为0) 数据库中类型的名称(用于使用CREATE type创建的类型) |
void registerOutParam( unsigned int paramIndex, Type type, unsigned int maxSize const UString &typName, const UString &schName |
参数指标;第一个参数是1,第二个是2,依此类推。 按类型定义的SQL类型代码;只有与ACCI数据类型(如日 期、字节等)对应的数据类型。 检索值的最大大小。对于ACCIBYTESAOCCISTRING的数据 类型,maxSize应该大于0。(默认为0) Type的名字 模式的名字 |
setAutoCommit¶
的错误消息。语句可以处于自动提交模式。在这种情况下,任何执行的语句也会自动提交。默认情况下,自动提交模式是关闭的。
语法
void setAutoCommit(
bool autoCommit);
| 参数 | 描述 |
|---|---|
| autoCommit | true使自动提交;false禁用自动提交。 |
SetBatchErrorMode¶
启用或禁用批处理错误处理模式。
语法
virtual void setBatchErrorMode(
bool batchErrorMode);
| 参数 | 描述 |
|---|---|
| batchErrorMode | TRUE启用批处理错误;FALSE禁用批处理错误。 |
SetBDouble¶
设置BDOUBLE参数。
语法
void setBDouble(
unsigned int paramIndex,
const BDouble &dval);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| dval | 参数值。 |
setBfile¶
设置BFILE参数。
语法
void setBfile(
unsigned int paramIndex,
const Bfile &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setBFloat¶
设置BFLOAT参数。
语法
void setBFloat(
unsigned int paramIndex,
const BFloat &fval);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| fval | 参数值。 |
setBinaryStreamMode¶
定义要作为二进制流返回的列。
语法
void setBinaryStreamMode(
unsigned int colIndex,
unsigned int size);
| 参数 | 描述 |
|---|---|
| colIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| size | 以二进制流形式读取或返回的数据量。这被限制为32KB (32,768字节)。 |
setBlob¶
设置BDOUBLE参数。
语法
void setBlob(
unsigned int paramIndex,
const Blob &val);
| 参数 | 描述 |
|---|---|
| colIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setCharacterStreamMode¶
定义要作为字符流返回的列。
语法
void setCharacterStreamMode(
unsigned int colIndex,
unsigned int size);
| 参数 | 描述 |
|---|---|
| colIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| size | 以二进制流形式读取或返回的数据量。这被限制为32KB (32,768字节)。 |
setClob¶
设置CLOB参数。
语法
void setClob(
unsigned int paramIndex,
const Clob &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setDate¶
设置DATE参数。
语法
void setDate(
unsigned int paramIndex,
const Date &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
SetDataBuffer¶
指定数据可用的数据缓冲区。也用于可调用语句的OUT绑定参数。
缓冲区参数是指向用户分配的数据缓冲区的指针。数据的当前长度必须在length参数中指定。数据量不应超过size参数。最后,类型是数据的数据类型。
注意,不是所有类型都可以在缓冲区中提供。例如,setDataBuffer()接口不能提供所有ACCI分配的类型(如字节、日期等)。类似地,c++标准库字符串也不能通过setDataBuffer()接口提供。类型可以是任何ACI数据类型,如VARCHAR2, CSTRING, CHARZ等等。
语法
void setDataBuffer(
unsigned int paramIndex,
void *buffer,
Type type,
sb4 size,
ub2 *length,
sb2 *ind = NULL,
ub2 *rc= NULL);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| buffer | 指向用户分配缓冲区的指针。 |
| type | 在缓冲区中提供(或检索)的数据类型。 |
| size | 数据缓冲区的大小。 |
| length | 指向缓冲区中数据长度的指针。 |
| ind | 指标。 |
| rc | 返回代码。 |
setDouble¶
设置double参数。
语法
void setDouble(
unsigned int paramIndex,
double val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setErrorOnNull¶
启用/禁用在语句的paramIndex参数上读取空值时的异常。如果启用了异常,如果参数值为NULL,那么在paramIndex参数上调用getxxx()将导致SQLException异常。此调用还可用于禁用异常。
语法
void setErrorOnNull(
unsigned int paramIndex,
bool causeException);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| causeException | 如果为真,启用异常。如果为假禁用。 |
setErrorOnTruncate¶
在发生截断时启用/禁用异常。
语法
void setErrorOnTruncate(
unsigned int paramIndex,
bool causeException);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| causeException | 如果为真,启用异常。如果为假禁用。 |
setFloat¶
设置float参数。
语法
void setFloat(
unsigned int paramIndex,
float val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setInt¶
设置int参数。
语法
void setInt(
unsigned int paramIndex,
int val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setIntervalDS¶
设置IntervalDS参数。
语法
void setIntervalDS(
unsigned int paramIndex,
const IntervalDS &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setIntervalYM¶
设置IntervalYM参数。
语法
void setIntervalYM(
unsigned int paramIndex,
const IntervalYM &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setNull¶
将参数设置为SQL NULL。注意,必须指定参数的SQL类型。
语法
void setNull(
unsigned int paramIndex,
Type type);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| type | SQL类型。 |
setNumber¶
设置Number参数。
语法
void setNumber(
unsigned int paramIndex,
const Number &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setPrefetchRowCount¶
设置ACCI在每次到服务器的往返过程中从内部获取的行数。如果两个参数都非零,则使用两个参数中较小的一个。如果这两个参数都为零,那么行数内部默认为1行。
语法
void setPrefetchRowCount(
unsigned int rowCount);
| 参数 | 描述 |
|---|---|
| rowCount | 依此类推。每次到服务器的往返要获取的行数。 |
SetSQL¶
可以使用这个调用将新的SQL字符串与Statement对象关联起来。与前一条SQL语句关联的资源被释放。特别地,一个先前获得的结果集是无效的。如果在创建语句时使用了空SQL字符串"",则必须首先执行带有适当SQL字符串的setSQL方法。
语法
void setSQL(
const string &sql);
| 参数 | 描述 |
|---|---|
| sql | 与语句的连接源具有相同字符集的SQL语句。 |
setSQLUString¶
可以使用这个调用将新的SQL字符串与Statement对象关联起来。与前一条SQL语句关联的资源被释放。特别地,一个先前获得的结果集是无效的。(UString为字符集支持)
语法
void setSQLUString(
const UString &sql);
| 参数 | 描述 |
|---|---|
| sql | 与语句的连接源具有相同字符集的SQL语句。 |
setString¶
设置string参数。
语法
void setString(
unsigned int paramIndex,
const string &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setUString¶
设置string参数。(UString为字符集支持)
语法
virtual void setUString(
unsigned int paramIndex,
const UString &x);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| x | 参数值。 |
setTimestamp¶
设置Timestamp参数。
语法
void setTimestamp(
unsigned int paramIndex,
const Timestamp &val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
setUInt¶
设置UInt参数。
语法
void setUInt(
unsigned int paramIndex,
unsigned int val);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| val | 参数值。 |
getBytes()¶
返回SQL语句中绑定为OUT参数的Bytes列的值,如果值为SQL NULL,则结果为0。
语法
Bytes getBytes(
unsigned int paramIndex);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
setPrefetchMemorySize()¶
设置OCCI内部用于存储在每次往返服务器期间获取的数据的内存量。 值为0表示往返过程中获取的数据量受FetchRowCount参数限制。 如果两个参数都不为零,则使用两者中较小的一个。
语法
void setPrefetchMemorySize(
unsigned int bytes);
| 参数 | 描述 |
|---|---|
| bytes | 每个服务器往返期间用于存储获取的数据的字节数。 |
setUInt64¶
设置Uint64参数。
语法
void setUInt64(
unsigned int paramIndex,
Uint64 x);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| x | 参数值。 |
setInt64¶
设置int64参数。
语法
void setInt64(
unsigned int paramIndex,
Uint64 x);
| 参数 | 描述 |
|---|---|
| paramIndex | 参数指标;第一个参数是1,第二个是2,依此类推。 |
| x | 参数值。 |