Statementオブジェクトは、SQL文を実行するために使用します。このSQL文は、結果セットを戻す問合せ文または更新カウントを戻す非問合せ文の場合があります。非問合せSQLには、INSERT文、UPDATE文またはDELETE文があります。非問合せSQL文には、DDL文(CREATEやGRANTなど)やストアド・プロシージャ・コールもあります。
INSERT/UPDATE/DELETE文の問合せまたはストアド・プロシージャ・コール文には、INバインド・パラメータを指定できます。一方、ストアド・プロシージャ・コール文には、OUTバインド・パラメータ、またはIN/OUTパラメータと呼ばれるINとOUT両方のバインド・パラメータを指定できます。
Statementクラスのメソッドは、3つのカテゴリに分類されます。
すべての文に適用可能なStatementメソッド
INバインド・パラメータ付きでプリコンパイルされたSQL文に適用可能なメソッド
OUTまたはIN/OUTバインド・パラメータ付きのコール可能文に適用可能なメソッド
表13-42 Statementクラスで使用される列挙値
| 属性 | オプション |
|---|---|
Status |
|
| メソッド | 説明 |
|---|---|
|
|
実行する反復を追加します。 |
|
|
自動リリースを待機せずに、結果セットのデータベースおよびOCCIリソースをただちに解放します。 |
|
|
パラメータ |
|
|
文キャッシュを使用禁止にします。 |
|
|
SQL文を実行します。 |
|
|
バインド・パラメータに |
|
|
単一の |
|
|
|
|
|
現在の自動コミット状態を戻します。 |
|
|
バッチ・エラー・モードの状態を戻します。 |
|
|
IEEE754 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
指定されたパラメータに有効なキャラクタ・セットを |
|
|
指定されたパラメータに有効なキャラクタ・セットを |
|
|
|
|
|
|
|
|
処理中の現行の反復の反復番号を戻します。 |
|
|
ストリーム・データの読込みまたは書込みを行う現行の反復を戻します。 |
|
|
読込みまたは書込みが必要な現行の出力ストリームのパラメータ索引を戻します。 |
|
|
OUTパラメータの |
|
|
データがNCHARキャラクタ・セットにあるかどうかを戻します。 |
|
|
パラメータの値を |
|
|
パラメータの値をIEEE754のdouble型で戻します。 |
|
|
パラメータの値をC++のdouble型で戻します。 |
|
|
パラメータの値をIEEE754のfloat型で戻します。 |
|
|
パラメータの値をC++のfloat型で戻します。 |
|
|
パラメータの値をC++のint型で戻します。 |
|
|
パラメータの値を |
|
|
パラメータの値を |
|
|
最大反復回数の現在の制限を戻します。 |
|
|
最大パラメータ・サイズの現在の制限を戻します。 |
|
|
パラメータの値を |
|
|
パラメータの値を |
|
|
|
|
|
REFパラメータの値を |
|
|
現在の結果を |
|
|
ROWIDパラメータの値を |
|
|
|
|
|
|
|
|
パラメータの値をストリームで戻します。 |
|
|
パラメータの値を文字列で戻します。 |
|
|
パラメータの値を |
|
|
パラメータの値をC++のunsigned int型で戻します。 |
|
|
非問合せ文に対する現在の結果を更新カウントで戻します。 |
|
|
|
|
|
指定されたパラメータをベクターで戻します。 |
|
|
現行の位置の列を |
|
|
パラメータが |
|
|
値が切り捨てられているかどうかをチェックします。 |
|
|
切捨て前のパラメータの実際の長さを戻します。 |
|
|
OUTパラメータの型と最大サイズを登録します。 |
|
|
自動コミット・モードを指定します。 |
|
|
バッチ・エラー処理モードを使用可能または使用禁止にします。 |
|
|
パラメータをIEEEのdouble型の値に設定します。 |
|
|
パラメータを |
|
|
パラメータをIEEEのfloat型の値に設定します。 |
|
|
列をバイナリ・ストリームで戻すように指定します。 |
|
|
パラメータを |
|
|
パラメータを |
|
|
列をキャラクタ・ストリームで戻すように指定します。 |
|
|
キャラクタ・セットを |
|
|
キャラクタ・セットを |
|
|
パラメータを |
|
|
パラメータを |
|
|
データがデータベースのNCHARキャラクタ・セットにある場合はtrueを、デフォルトをリストアする場合はfalseを設定します。 |
|
|
読込みまたは書込み可能なデータがあるデータ・バッファを指定します。 |
|
|
読込みまたは書込み可能なデータがあるデータ・バッファの配列を指定します。 |
|
|
パラメータをC++のdouble型の値に設定します。 |
|
|
|
|
|
切捨てが発生する際の例外を使用可能または使用禁止にします。 |
|
|
パラメータをC++のfloat型の値に設定します。 |
|
|
パラメータをC++のint型の値に設定します。 |
|
|
パラメータを |
|
|
パラメータを |
|
|
DML文に対して行われる起動の最大数を設定します。 |
|
|
パラメータとの間で受渡しできるデータの最大量を設定します。 |
|
|
パラメータをSQLの |
|
|
パラメータを |
|
|
オブジェクトを使用してパラメータの値を設定します。 |
|
|
サーバーへの各ラウンドトリップでフェッチしたデータを格納するために、OCCIによって繰り返し使用されるメモリー・サイズを設定します。 |
|
|
サーバーへの各ラウンドトリップで、OCCIによって繰り返しフェッチされる行数を設定します。 |
|
|
パラメータの値を参照に設定します。 |
|
|
バインドの位置に対して、ROWIDバイト配列を設定します。 |
|
|
新規SQL文字列を |
|
|
新規SQL文字列を |
|
|
指定された索引のパラメータを設定します。 |
|
|
パラメータを |
|
|
パラメータをC++のunsigned int型の値に設定します。 |
|
|
指定された索引のパラメータを設定します。グローバリゼーション対応の場合です。 |
|
|
パラメータをunsigned int型のベクターに設定します。 |
|
|
パラメータをベクターに設定します。このメソッドは、型が |
|
|
文の現在のステータスを戻します。このステータスは、書き込むストリーム・データがある場合に役立ちます。 |
設定パラメータを指定した後、実行する反復を追加します。
構文
void addIteration();
結果セットが必要ない場合、指定されたresultSetのデータベースおよびOCCIリソースをただちに解放します。
構文
void closeResultSet( ResultSet *resultSet);
| パラメータ | 説明 |
|---|---|
resultSet |
クローズする結果セットを指定します。現行の文でgetResultSet()、executeQuery()またはgetCursor()メソッドをコールした結果、またはこの文の別の結果セットのgetCursor()コールによる結果を指定できます。 |
パラメータstreamによって指定されたストリームをクローズします。
構文
void closeStream( Stream *stream);
| パラメータ | 説明 |
|---|---|
stream |
クローズするストリームを指定します。 |
文キャッシュを使用禁止にします。文をキャッシュせずに破棄する必要がある場合に使用します。文キャッシュが使用可能になっている場合にのみ有効です。
構文
void disableCaching();
結果セットまたは更新カウントのいずれかを戻すSQL文を実行します。この文には、書き込む必要がある読込み可能なストリームが含まれている場合があります。この場合の実行結果は、すぐに使用できない場合があります。戻り値Statusは、表13-42の定義を参照してください。
出力ストリームがOUTバインド変数に使用されている場合、その出力ストリームは順に従って完全に読み込む必要があります。getCurrentStreamParam()メソッドは、読み取る必要があるストリームを示します。同様に、getCurrentIteration()は、データの準備ができている反復を示します。
| 構文 | 説明 |
|---|---|
Status execute( const string &sql=""); |
SQL文を実行します。 |
Status execute( const UString &sql); |
SQL文を実行します。グローバリゼーション対応の場合です。 |
| パラメータ | 説明 |
|---|---|
sql |
実行するSQL文を指定します。executeArrayUpdate()メソッドを使用してSQLと文を関連付けた場合は、NULLを指定できます。 |
バインド・パラメータにsetDataBuffer()またはストリーム・インタフェースのみを使用するINSERT/UPDATE/DELETE文を実行します。このバインド・パラメータは、サイズ配列であるarrayLengthパラメータです。この文には、書き込む必要がある書込み可能なストリームが含まれている場合があります。戻り値Statusは、表13-42の定義を参照してください。
出力ストリームがOUTバインド変数に使用されている場合、その出力ストリームは順に従って完全に読み込む必要があります。getCurrentStreamParam()メソッドは、読み取る必要があるストリームを示します。同様に、getCurrentIteration()は、データの準備ができている反復を示します。
|
注意: 配列実行は、問合せ文またはコール可能文に対しては実行できません。 |
構文
Status executeArrayUpdate( unsigned int arrayLength);
| パラメータ | 説明 |
|---|---|
arrayLength |
バインド変数の各バッファに指定する要素数を指定します。 |
ResultSetを戻すSQL文を実行します。ストリーム・パラメータを持つ問合せではない文に対しては、コールしないでください。問合せによって作成されたデータが含まれたResultSetを戻します。
| 構文 | 説明 |
|---|---|
ResultSet* executeQuery( const string &sql=""); |
単一のResultSetを戻すSQL文を実行します。 |
ResultSet* executeQuery( const UString &sql); |
単一のResultSetを戻すSQL文を実行します。グローバリゼーション対応の場合です。 |
| パラメータ | 説明 |
|---|---|
sql |
実行するSQL文を指定します。executeArrayUpdate()メソッドを使用してSQLと文を関連付けた場合は、NULLを指定できます。 |
SQLのINSERT文、UPDATE文、DELETE文などの非問合せ文、CREATE/ALTERなどのDDL文またはストアド・プロシージャ・コールを実行します。INSERT、UPDATEまたはDELETEの場合は行カウントを、戻りがないSQL文の場合は0(ゼロ)を戻します。
| 構文 | 説明 |
|---|---|
unsigned int executeUpdate( const string &sql=""); |
非問合せ文を実行します。 |
unsigned int executeUpdate( const UString &sql); |
非問合せ文を実行します。グローバリゼーション対応の場合です。 |
| パラメータ | 説明 |
|---|---|
sql |
実行するSQL文を指定します。executeArrayUpdate()メソッドを使用してSQLと文を関連付けた場合は、NULLを指定できます。 |
現在の自動コミット状態を戻します。
構文
bool getAutoCommit() const;
バッチ・エラー・モードの状態を戻します。有効な場合にはTRUEが、無効な場合はFALSEが戻されます。
構文
bool getBatchErrorMode() const;
OUTバインドとして定義されているIEEE754のDOUBLE列の値を取得します。値がSQLのNULLの場合、結果は0(ゼロ)です。
構文
BDouble getBDouble( unsigned int paramIndex) = 0;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
BFILEパラメータの値をBfileオブジェクトで戻します。
構文
Bfile getBfile( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
OUTバインドとして定義されているIEEE754のFLOAT列の値を取得します。値がSQLのNULLの場合、結果は0(ゼロ)です。
構文
BFloat getBFloat( unsigned int paramIndex) = 0;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
BLOBパラメータの値をBlobで戻します。
構文
Blob getBlob( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
SQL BINARYまたはVARBINARYパラメータの値をBytesで戻します。値がSQLのNULLの場合、結果はNULLです。
構文
Bytes getBytes( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
指定されたパラメータに有効なキャラクタ・セットをstringで戻します。
構文
string getCharSet( unsigned int paramIndex) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
指定されたパラメータに有効なキャラクタ・セットをUStringで戻します。
構文
UString getCharSetUString( unsigned int paramIndex) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
CLOBパラメータの値をClobオブジェクトで取得します。パラメータの値を戻します。
構文
Clob getClob( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
Statementオブジェクトがインスタンス化された元の接続を戻します。
構文
Connection* getConnection() const;
プリコンパイルされたSQL文に出力Streamsがない場合、このメソッドは、OCCIで処理中の文の現在の反復を戻します。一連の反復ですべてのコールが処理された後に、このメソッドがコールされた場合は、0(ゼロ)を戻します。処理中の現行の反復の反復番号を戻します。最初の反復の番号は1、2回目の反復の番号は2のようになります。文の実行が終了した場合は、0(ゼロ)を戻します。
構文
unsigned int getCurrentIteration() const;
データの準備ができている現在のパラメータ・ストリームを戻します。
構文
unsigned int getCurrentStreamIteration() const;
書込みが必要な現行の出力Streamパラメータのパラメータ索引を戻します。プリコンパイルされたSQL文に出力Streamパラメータがある場合、このメソッドは書込みが必要な現行の出力Streamのパラメータ索引を戻します。出力Streamへの書込みが不要な場合、またはプリコンパイルされたSQL文に出力Streamパラメータがない場合、このメソッドは0(ゼロ)を戻します。
構文
unsigned int getCurrentStreamParam() const;
OUTパラメータのREF CURSOR値をResultSetで取得します。この結果セットからデータをフェッチできます。OUTパラメータは、registerOutParam()メソッドを使用してCURSORとして登録する必要があります。OUTパラメータの値に対してResultSetを1つ戻します。
|
注意: バッチ・コールのために戻される REF CURSORが複数ある場合は、カーソルからのデータを完全にフェッチしてから次のREF CURSORを取得してフェッチを開始するようにする必要があります。 |
構文
ResultSet * getCursor( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
データがNCHARキャラクタ・セットにあるかどうかを戻します。
構文
bool getDatabaseNCHARParam( unsigned int paramIndex) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
SQL DATEパラメータの値をDateオブジェクトで取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果はNULLです。
構文
Date getDate( unsigned int paramIndex) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
DOUBLEパラメータの値をC++のdouble型で取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果は0(ゼロ)です。
構文
double getDouble( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
FLOATパラメータの値をC++のfloat型で取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果は0(ゼロ)です。
構文
float getFloat( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
INTEGERパラメータの値をC++のint型で取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果は0(ゼロ)です。
構文
unsigned int getInt( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
パラメータの値をIntervalDSオブジェクトで取得します。
構文
IntervalDS getIntervalDS( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
パラメータの値をIntervalYMオブジェクトで取得します。
構文
IntervalYM getIntervalYM( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
最大反復回数の現在の制限を取得します。デフォルトは1です。現在の最大反復回数を戻します。
構文
unsigned int getMaxIterations() const;
maxParamSize制限(バイト数)は、受け渡すパラメータの値の最大データ量です。文字型およびバイナリ型に対してのみ適用されます。制限を超過すると、超過した分のデータは暗黙的に廃棄されます。maxパラメータ・サイズの現在の制限を戻します。
構文
unsigned int getMaxParamSize( unsigned int paramIndex) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
NUMERICパラメータの値をNumberオブジェクトで取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果はNULLです。
構文
Number getNumber( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
パラメータの値をPObjectオブジェクトで取得します。このメソッドはregisterOutParam()を使用して、このパラメータに登録されたSQLの型に対応する型のPObjectを戻します。OUTパラメータの値を保持しているPObjectを1つ戻します。
|
注意: このメソッドは、データベース固有の抽象データ型を読み取るために使用できます。 |
構文
PObject * getObject( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
Statementに関連付けられているOCI文ハンドルを取得します。
構文
OCIStmt * getOCIStatement() const;
REFパラメータの値をRefAnyオブジェクトで取得します。パラメータの値を戻します。
構文
RefAny getRef( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
現在の結果をResultSetで戻します。
構文
ResultSet * getResultSet();
rowidパラメータの値をBytesで取得します。
構文
Bytes getRowid( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
Statementオブジェクトに関連付けられている現行のSQL文字列を戻します。
構文
string getSQL() const;
Statementオブジェクトに関連付けられている現行のSQL UStringを戻します。グローバリゼーション対応の場合です。
構文
UString getSQLUString() const;
パラメータの値をストリームで戻します。
構文
Stream * getStream( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
CHAR、VARCHARまたはLONGVARCHARパラメータの値を文字列で取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果は空の文字列です。
構文
string getString( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
SQL TIMESTAMPパラメータの値をTimestampオブジェクトで取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果はNULLです。
構文
Timestamp getTimestamp( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
BIGINTパラメータの値をC++のunsigned int型で取得します。パラメータの値を戻します。値がSQLのNULLの場合、結果は0(ゼロ)です。
構文
unsigned int getUInt( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
現在の結果を更新カウントで戻します。
構文
unsigned int getUpdateCount() const;
値をUStringで戻します。
|
注意: このメソッドをコールする必要があるのは、環境のキャラクタ・セットがUTF16の場合、またはUTF16データを明示的に取得するために setCharset()メソッドがコールされている場合のみです。 |
構文
UString getUString( unsigned int paramIndex);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
現行の位置の列をベクターで戻します。位置の列は、索引で指定し、コレクション型(VARRAYまたはネストした表)であることが必要です。コレクション内の要素のSQL型は、ベクターの型との互換性が必要です。
| 構文 | 説明 |
|---|---|
void getVector( Statement *stmt, unsigned int paramIndex, std::vector<UString> &vect); |
UString Classのベクターに使用します。グローバリゼーション対応の場合です。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<BDouble> &vect); |
BDoubleのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<BFile> &vect); |
Bfileクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<BFloat> &vect); |
BFloatのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<Blob> &vect); |
Blobクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<Clob> &vect); |
Clobのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<Date> &vect); |
Dateクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<double> &vect); |
doubleクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<float> &vect); |
floatクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<int> &vect); |
intクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<IntervalDS> &vect); |
IntervalDSクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<IntervalYM> &vect); |
IntervalYMクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<Number> &vect); |
Numberクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<RefAny> &vect); |
RefAnyクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<string> &vect); |
stringクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<T *> &vect); |
この構文は、関数テンプレートの一部の順序付けがサポートされているプラットフォームで使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<T> &vect); |
この構文は、Windows NTおよびz/OSなど、関数テンプレートの一部の順序付けがサポートされていないプラットフォームで使用します。OUTバインド用です。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<Timestamp> &vect); |
Timestampクラスのベクターに使用します。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<u <Ref<T> > &vect); |
この構文は、関数テンプレートの一部の順序付けがサポートされているプラットフォームでのみ使用できます。 |
void getVector( Statement *stmt, unsigned int paramIndex, vector<unsigned int> &vect); |
unsigned intクラスのベクターに使用します。 |
| パラメータ | 説明 |
|---|---|
stmt |
文を指定します。 |
paramIndex |
パラメータ索引を指定します。 |
vect |
値が取得されるベクター(OUTパラメータ)への参照を指定します。 |
このメソッドは、現行の位置の列をREFのベクターで戻します。列はREFのコレクション型(VARRAYまたはネストした表)であることが必要です。OUTバインドで使用します。
構文
void getVectorOfRefs( Statement *stmt, unsigned int colIndex, vector< Ref<T> > &vect);
| パラメータ | 説明 |
|---|---|
stmt |
文オブジェクトを指定します。 |
colIndex |
列の索引を、第1列は1、第2列は2のように指定します。 |
vect |
REFのベクター(OUTパラメータ)への参照を指定します。Ref<T>に対しては、特化した関数のgetVector()ではなく、getVectorOfRefs()の使用をお薦めします。 |
OUTパラメータには、SQLのNULLの値が含まれる場合があります。isNull()は、最後の値の読込みで、この特別な値があったかどうかをレポートします。最初に、パラメータでgetxxx()をコールしてこの値を読み込み、次に、isNull()をコールして、値がSQLのNULLかどうかを確認する必要があります。最後のパラメータ読込みがSQLのNULLの場合はTRUEを戻します。
構文
bool isNull( unsigned int paramIndex ) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
このメソッドは、パラメータの値が切り捨てられているかどうかをチェックします。パラメータの値が切り捨てられている場合はTRUEを、それ以外の場合はFALSEを戻します。
構文
bool isTruncated( unsigned int paramIndex) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
切捨て前のパラメータの実際の長さを戻します。
構文
int preTruncationLength( unsigned int paramIndex) const;
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
このメソッドは、PL/SQLストアド・プロシージャの各outパラメータのtypeを登録します。PL/SQLストアド・プロシージャを実行する前に、このメソッドを明示的にコールして各outパラメータのtypeを登録する必要があります。このメソッドは、outパラメータに対してのみコールします。IN/OUTパラメータの場合はsetxxx()メソッドを使用します。
outパラメータの値を読み取る場合は、登録されているパラメータのSQL型に対応するgetxxx()メソッドを使用する必要があります。たとえば、指定されている型がOCCIINTまたはOCCINumberの場合は、getIntまたはgetNumberを使用します。
PL/SQLストアド・プロシージャにROWID型のoutパラメータがある場合、このメソッドに指定するtypeにはOCCISTRINGを指定します。outパラメータの値は、getString()メソッドをコールして取得できます。
PL/SQLストアド・プロシージャにROWID型のIN/OUTパラメータがある場合は、setString()メソッドとgetString()メソッドをコールして、型を設定し、IN/OUTパラメータの値を取得します。
| 構文 | 説明 |
|---|---|
void registerOutParam( unsigned int paramIndex, Type type, unsigned int maxSize=0, const string &sqltype=""); |
PL/SQLストアド・プロシージャの各outパラメータのtypeを登録します。 |
void registerOutParam( unsigned int paramIndex, Type type, unsigned int maxSize, const string typName, const string &schName); |
PL/SQLストアド・プロシージャの各outパラメータのtypeを登録します(stringのサポートの場合)。 |
void registerOutParam( unsigned int paramIndex, Type type, unsigned int maxSize, const UString &typName, const UString &schName); |
PL/SQLストアド・プロシージャの各outパラメータのtypeを登録します。グローバリゼーション対応またはUStringのサポートの場合です。 |
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
type |
typeによって定義されるSQL型コードです。DateやBytesなどのOCCIデータ型に対応するデータ型のみです。 |
maxSize |
取得する値の最大サイズを指定します。OCCIBYTES型およびOCCISTRING型の場合、maxSizeは0(ゼロ)より大きい値です。 |
sqltype |
データベースの型名を指定します(CREATE TYPEで作成した型を使用します)。 |
typName |
型の名前を指定します。 |
schName |
スキーマ名を指定します。 |
Statementを自動コミット・モードにできます。この場合、実行済の文も自動的にコミットされます。デフォルトでは、自動コミットモードはオフです。
構文
void setAutoCommit( bool autoCommit);
| パラメータ | 説明 |
|---|---|
autoCommit |
TRUEは自動コミット使用可能、FALSEは自動コミット使用禁止です。 |
バッチ・エラー処理モードを使用可能または使用禁止にします。
構文
virtual void setBatchErrorMode( bool batchErrorMode);
| パラメータ | 説明 |
|---|---|
batchErrorMode |
TRUEによりバッチ・エラー処理が使用可能になり、FALSEにより使用禁止になります。 |
IEEE754のdouble型を、paramIndex属性で指定された位置にあるStatementオブジェクトへのバインド値として設定します。
構文
void setBDouble( unsigned int paramIndex, const BDouble &dval);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
dval |
パラメータの値を指定します。 |
パラメータをBfile値に設定します。
構文
void setBfile( unsigned int paramIndex, const Bfile &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
IEEE754のfloat型を、paramIndex属性で指定された位置にあるStatementオブジェクトへのバインド値として設定します。
構文
void setBFloat( unsigned int paramIndex, const BFloat &fval);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
fval |
パラメータの値を指定します。 |
列をバイナリ・ストリームで戻すように定義します。
| 構文 | 説明 |
|---|---|
void setBinaryStreamMode( unsigned int colIndex, unsigned int size); |
バイナリ・ストリームで戻す列を設定します。 |
void setBinaryStreamMode( unsigned int colIndex, unsigned int size bool inArg); |
バイナリ・ストリームで戻す列を設定します。バインド位置にPL/SQLのINまたはIN/OUT引数がある場合に使用します。 |
| パラメータ | 説明 |
|---|---|
colIndex |
列の索引を、第1列は1、第2列は2のように指定します。 |
size |
バイナリStreamで読み取られたり、戻されるデータ量を指定します。 |
inArg |
バインド位置がPL/SQLのINまたはIN/OUT引数の場合はTRUEを渡します。 |
パラメータをBlob値に設定します。
構文
void setBlob( unsigned int paramIndex, const Blob &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをBytes配列に設定します。
構文
void setBytes( unsigned int paramIndex, const Bytes &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
列をキャラクタ・ストリームで戻すように定義します。
| 構文 | 説明 |
|---|---|
void setCharacterStreamMode( unsigned int colIndex, unsigned int size); |
キャラクタ・ストリームで戻す列を設定します。 |
void setCharacterStreamMode( unsigned int colIndex, unsigned int size, bool inArg); |
キャラクタ・ストリームで戻す列を設定します。バインド位置にPL/SQLのINまたはIN/OUT引数がある場合に使用します。 |
| パラメータ | 説明 |
|---|---|
colIndex |
列の索引を、第1列は1、第2列は2のように指定します。 |
size |
キャラクタStreamで読み取られたり、戻されるデータ量を指定します。 |
inArg |
バインド位置がPL/SQLのINまたはIN/OUT引数の場合はTRUEを渡します。 |
指定されたパラメータのデフォルトのキャラクタ・セットを上書きします。データは、指定されたキャラクタ・セットにあるとみなされ、データベース・キャラクタ・セットに変換されます。OUTバインドの場合、これは、データベース・キャラクタの変換先のキャラクタ・セットを指定します。
構文
void setCharSet( unsigned int paramIndex, string &charSet);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
charSet |
選択したキャラクタ・セットを文字列で指定します。 |
指定されたパラメータのデフォルトのキャラクタ・セットを上書きします。データは、指定されたキャラクタ・セットにあるとみなされ、データベース・キャラクタ・セットに変換されます。OUTバインドの場合、これは、データベース・キャラクタの変換先のキャラクタ・セットを指定します。
構文
void setCharSetUString( unsigned int paramIndex, const UString& charSet);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
charSet |
選択したキャラクタ・セットをUStringで指定します。 |
パラメータをClob値に設定します。
構文
void setClob( unsigned int paramIndex, const Clob &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをDate値に設定します。
構文
void setDate( unsigned int paramIndex, const Date &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
データベースのNCHARキャラクタ・セットのデータが含まれている列にパラメータを挿入する場合は、TRUE値を渡すことによって、そのことをOCCIに通知する必要があります。デフォルトをリストアするには、FALSEを渡します。戻り値によって、指定されたパラメータに有効なキャラクタ・セットが戻されます。
構文
void setDatabaseNCHARParam( unsigned int paramIndex, bool isNCHAR);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
isNCHAR |
このパラメータに、データベースのNCHARキャラクタ・セットのデータが含まれている場合はTRUEを、それ以外の場合はFALSEを戻します。 |
データが使用可能なデータ・バッファを指定します。コール可能文のOUTバインド・パラメータにも使用されます。
このbufferパラメータは、ユーザーが割り当てたデータ・バッファへのポインタです。データの現在の長さをlengthパラメータに指定する必要があります。データ量は、sizeパラメータを超えないようにします。typeには、データのデータ型を指定します。
すべてのtypeがバッファに指定できるわけではありません。たとえば、OCCIに割り当てられているすべての型(BytesやDateなど)はsetDataBuffer()インタフェースでは指定できません。同様に、C++標準ライブラリ文字列は、setDataBuffer()インタフェースでは提供できません。typeは、VARCHAR2、CSTRING、CHARZなどのOCIデータ型にできます。
反復実行や配列実行で、setDataBuffer()を使用してデータを指定する場合は、最初の反復のみで1回のみコールする必要があります。後続の反復で、OCCIは、データの位置をbuffer +(i*size)(iは反復番号)であるとみなします。同様に、データの長さは、(length+i)とみなされます。
構文
void setDataBuffer( unsigned int paramIndex, void *buffer, Type type, sb4 size, ub2 *length, sb2 *ind = NULL, ub2 *rc= NULL);
| パラメータ | 説明 |
|---|---|
| paramIndex | パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
buffer |
ユーザーが割り当てたバッファへのポインタを指定します。反復実行または配列実行が行われる場合、バッファにはnumIterations()でのsizeのバイト数が必要です。配列フェッチが行われる場合、バッファにはnumRows * sizeのバイト数が必要です。収集または分散のバインドおよび定義が行われる場合、この構造には、OCIIOVecのアドレスおよびそのアドレスで開始されるOCIIOVec要素の数が格納されます。 |
type |
バッファに入る(取得する)データの型を指定します。 |
size |
データ・バッファのサイズを指定します。反復実行や配列実行の場合、このサイズはデータ項目の各要素のサイズです。収集または分散のバインドおよび定義の場合、このサイズはbufferが指すOCIIOVecArrayのサイズです。modeはIOVECに設定する必要があります。 |
length |
バッファのデータ長へのポインタを指定します。反復実行や配列実行の場合、データ長は各バッファ要素に対する長さデータの配列です。配列のサイズはarrayLength()と等しくしてください。 |
ind |
インジケータを指定します。反復実行および配列実行の場合、インジケータはすべてのバッファ要素に対するものです。 |
rc |
コードを戻します。反復実行および配列実行の場合、リターン・コードはすべてのバッファ要素に対するものです。 |
IN、OUTおよびIN/OUTバインド・パラメータに使用します。
ストアド・プロシージャは、IN、IN/OUTまたはOUTパラメータの値の配列を保持できます。この場合、パラメータはsetDataBufferArray()メソッドを使用して指定する必要があります。配列は、反復実行や配列実行に対するsetDataBuffer()メソッドと同じように指定されますが、配列の要素数は*arrayLengthパラメータによって決まります。
OUTおよびIN/OUTパラメータの場合、配列の最大要素数は、arraySizeパラメータで指定されます。プリコンパイルされた反復SQL文の場合、配列の要素数は反復回数によって決まります。配列実行の場合の配列の要素数は、executeArrayUpdate()メソッドのarrayLengthパラメータによって決まります。ただし、ストアド・プロシージャの配列パラメータの場合、配列の要素数は、setDataBufferArray()メソッドの*arrayLengthパラメータで指定する必要があります。これは、各パラメータに異なるサイズの配列がある場合があるためです。
この指定方法はプリコンパイルされたSQL文の場合と異なります。反復実行および配列実行の場合、各パラメータの配列の要素数は同じであり、要素の数は文の反復数によって決まります。しかし、コール可能文は1回のみ実行され、それぞれのパラメータは、長さの異なる可変長の配列である可能性があります。
|
注意: OUTバインドとIN/OUTバインドの場合、配列の要素数は、同様にarrayLengthで戻ります。クライアントは、bufferにsize *arraySize分のバイトが割り当てられていることを確認する必要があります。 |
void setDataBufferArray( unsigned int paramIndex, void *buffer, Type type, ub4 arraySize, ub4 *arrayLength, sb4 elementSize, ub2 *elementLength, sb2 *ind = NULL, ub2 *rc = NULL);
| パラメータ | 説明 |
|---|---|
| paramIndex | パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
buffer |
ユーザーが割り当てたバッファへのポインタを指定します。バッファにはsize * arraySize分のバイトが必要です。収集または分散のバインドおよび定義が行われる場合、この構造には、OCIIOVecのアドレスおよびそのアドレスで開始されるOCIIOVec要素の数が格納されます。 |
type |
バッファに入る(取得する)データの型を指定します。 |
arraySize |
配列の最大要素数を指定します。 |
arrayLength |
配列の現行の要素数へのポインタを指定します。 |
elementSize |
各要素に対するデータ・バッファのサイズを指定します。反復実行および配列実行の場合、このサイズはデータ項目の各要素のサイズです。収集または分散のバインドおよび定義を使用する場合、このサイズはOCIIOVecArrayのサイズです。モードはIOVECに設定する必要があります。 |
elementLemgth |
長さの配列へのポインタを指定します。elementLength[i]は、配列内のi番目の要素の現在の長さです。 |
ind |
インジケータの配列へのポインタを指定します。これは、すべてのバッファ要素に対するインジケータです。 |
rcs |
リターン・コードの配列へのポインタを指定します。 |
パラメータをC++のdouble型の値に設定します。
構文
void setDouble( unsigned int paramIndex, double val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
文のparamIndexパラメータで、NULL値の読込みに対する例外を使用可能/使用禁止にします。 例外を使用可能にして、paramIndexパラメータでgetxxx()をコールすると、パラメータの値がNULLの場合は、結果がSQLExceptionになります。 このコールは、例外を使用禁止にする際にも使用できます。
構文
void setErrorOnNull( unsigned int paramIndex, bool causeException);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
causeException |
TRUEの場合、例外は使用可能です。FALSEの場合は使用禁止です。 |
このメソッドは、切捨てが発生する際の例外を使用可能/使用禁止にします。
構文
void setErrorOnTruncate( unsigned int paramIndex, bool causeException);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
causeException |
TRUEの場合、例外は使用可能です。FALSEの場合は使用禁止です。 |
パラメータをC++のfloat型の値に設定します。
構文
void setFloat( unsigned int paramIndex, float val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをC++のint型の値に設定します。
構文
void setInt( unsigned int paramIndex, int val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをIntervalDS値に設定します。
構文
void setIntervalDS( unsigned int paramIndex, const IntervalDS &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをInterval値に設定します。
構文
void setIntervalYM( unsigned int paramIndex, const IntervalYM &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
DML文に対して行われる起動の最大数を設定します。 プリコンパイルされたSQL文にパラメータが設定される前にコールする必要があります。 反復数を大きくすると、1回のラウンドトリップでサーバーに送信されるパラメータ数が多くなります。 ただし、数を大きくすると、すべてのパラメータに対して、より多くのメモリーが確保されます。 この設定は、単に最大制限です。 実質的な反復数は、addIteration()のコール数に依存します。
構文
void setMaxIterations( unsigned int maxIterations);
| パラメータ | 説明 |
|---|---|
maxIterations |
この文に対して許可する最大の反復回数を指定します。 |
このメソッドは、指定されたパラメータに関して受渡しされるデータの最大量を設定します。 文字とバイナリ・データに対してのみ適用されます。 最大量を超過すると、超過したデータは廃棄されます。 このメソッドは、LONG列を取り扱う場合に大変有効です。 文字列またはBytesデータ型に読込みまたは書込みを行って、LONG列の切捨てを行う際に使用できます。
getSQL()メソッドまたはsetBytes()メソッドが、PL/SQLプロシージャのIN/OUTパラメータに値をバインドするためにコールされていて、OUTの値のサイズがINの値のサイズを超過することが予想される場合は、setMaxParamSize()をコールする必要があります。
構文
void setMaxParamSize( unsigned int paramIndex, unsigned int maxSize);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
maxSize |
新規の最大パラメータ・サイズ制限(>0)を指定します。 |
パラメータをSQLのNULLに設定します。 パラメータのSQL型を指定する必要があります。
| 構文 | 説明 |
|---|---|
void setNull( unsigned int paramIndex, Type type); |
オブジェクトを使用してパラメータの値をNULLに設定します。 |
void setNull( unsigned int paramIndex, Type type, const string &typeName, const string &schemaName = "") |
オブジェクト型およびコレクション型のOCCIPOBJECTおよびOCCIVECTORについて、パラメータ値をNULLに設定します。オブジェクト型またはコレクション型の該当するスキーマおよび型名を使用します。stringをサポートする場合です。 |
void setNull( unsigned int paramIndex, Type type, UString &typeName, UString &schemaName); |
オブジェクト型およびコレクション型のOCCIPOBJECTおよびOCCIVECTORについて、パラメータ値をNULLに設定します。オブジェクト型またはコレクション型の該当するスキーマおよび型名を使用します。UStringをサポートする場合です。 |
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
type |
SQL型を指定します。 |
typeName |
オブジェクトまたはコレクションの型名を指定します。 |
schemaName |
オブジェクトまたはコレクションが定義されているスキーマの名前を指定します。 |
パラメータをNumber値に設定します。
構文
void setNumber( unsigned int paramIndex, const Number &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
オブジェクトを使用してパラメータの値を設定します。整数値に対してC++言語に相当するオブジェクトを使用します。 OCCI仕様によって、C++のObject型からSQL型への標準マッピングが指定されます。 指定されたパラメータのC++オブジェクトは、データベースに送信される前に対応するSQL型に変換されます。
構文
void setObject( unsigned int paramIndex, PObject* val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
入力パラメータの値が含まれているオブジェクトを指定します。 |
sqltyp |
設定するオブジェクトのSQL型名を指定します。 |
サーバーへの各ラウンドトリップでフェッチしたデータを格納するために、OCCIによって繰り返し使用されるメモリー・サイズを設定します。 0(ゼロ)の値は、ラウンドトリップ中にフェッチしたデータの量がFetchRowCountパラメータによって制限されることを意味します。 両方のパラメータが0(ゼロ)でない場合、2つのうち量の少ないほうが使用されます。
構文
void setPrefetchMemorySize( unsigned int bytes);
| パラメータ | 説明 |
|---|---|
bytes |
各サーバーのラウンドトリップ中にフェッチされたデータの格納に使用するバイト数を指定します。 |
サーバーへの各ラウンドトリップで、OCCIによって繰り返しフェッチされる行数を設定します。 0(ゼロ)の値は、ラウンドトリップ中にフェッチしたデータの量がFetchMemorySizeパラメータによって制限されることを意味します。 両方のパラメータが0(ゼロ)でない場合、2つのうち量の少ないほうが使用されます。 両方のパラメータが0(ゼロ)の場合、行カウントが内部的に1行にデフォルト設定され、これが、getFetchRowCount()メソッドから戻る値となります。
構文
void setPrefetchRowCount( unsigned int rowCount);
| パラメータ | 説明 |
|---|---|
rowCount |
サーバーへの各ラウンドトリップでフェッチする行数を指定します。 |
パラメータの値を参照に設定します。 Ref<T>インスタンスは、このコール中に暗黙的にRefAnyオブジェクトに変換されます。
| 構文 | 説明 |
|---|---|
void setRef( unsigned int paramIndex, const RefAny &refAny); |
パラメータの値を参照に設定します。 |
void setRef( unsigned int paramIndex, const RefAny &refAny, const string &typName, const string &schName = ""); |
パラメータの値を参照に設定します。Statementがコール可能PL/SQLメソッドを表す場合、Refによって表されているスキーマ名およびオブジェクトの型名を渡します。stringをサポートする場合です。 |
void setRef( unsigned int paramIndex, const RefAny &refAny, const UString &typName, const UString &schName); |
パラメータの値を参照に設定します。Statementがコール可能PL/SQLメソッドを表す場合、Refによって表されているスキーマ名およびオブジェクトの型名を渡します。UStringをサポートする場合です。 |
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
refAny |
参照を指定します。 |
typName |
オブジェクトの型を指定します(オプション)。 |
schName |
オブジェクト型が定義されているスキーマを指定します(オプション)。 |
バインドの位置に対して、Rowidバイト配列を設定します。
構文
void setRowid( unsigned int paramIndex, const Bytes &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
このコールによって、新規SQL文字列をStatementオブジェクトに関連付けることができます。 前のSQL文に関連付けられているリソースは解放されます。 特に、前に取得した結果セットは無効になります。 Statementの作成時に、空のSQL文字列""が使用された場合は、実行前に、適切なSQL文字列を使用してsetSQLメソッドを実行する必要があります。
構文
void setSQL( const string &sql);
| パラメータ | 説明 |
|---|---|
sql |
SQL文を指定します。 |
このオブジェクトにSQL文を関連付けます。 Unicodeサポート: クライアントのEnvironmentをOCCIUTIF16モードで初期化する必要があります。
構文
void setSQLUString( const UString &sql);
| パラメータ | 説明 |
|---|---|
sql |
SQL文を文の接続元と同じキャラクタ・セットで指定します。 |
指定された索引のパラメータを設定します。
構文
void setString( unsigned int paramIndex, const string &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをTimestamp値に設定します。
構文
void setTimestamp( unsigned int paramIndex, const Timestamp &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをC++のunsigned int型の値に設定します。
構文
void setUInt( unsigned int paramIndex, unsigned int val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
指定された索引のパラメータを設定します。グローバリゼーション対応の場合です。
構文
void setUString( unsigned int paramIndex, const UString &val);
| パラメータ | 説明 |
|---|---|
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
val |
パラメータの値を指定します。 |
パラメータをベクターに設定します。 このメソッドは、型がコレクション型、VARRAYまたはネストした表の場合に使用します。 コレクション内の要素のSQL型は、ベクターの型との互換性が必要です。 たとえば、コレクションがVARCHAR2のVARRAYの場合は、vector<string>.を使用します。
| 構文 | 説明 |
|---|---|
void setVector( Statement *stmt, unsigned int paramIndex, const vector< T > &vect, const string &schemaName, const string &typeName); |
この構文は、Windows NTおよびz/OSなど、関数テンプレートの一部の順序付けがサポートされていないプラットフォームで使用します。これはマルチバイト・サポート用です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<T* > &vect, const string &schemaName, const string &typeName); |
この構文は、関数テンプレートの一部の順序付けがサポートされているプラットフォームで使用します。これはマルチバイト・サポート用です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<BDouble> &vect const string &sqltype); |
BDoubleのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Bfile> &vect, const string &schemaName, const string &typeName); |
const Bfileのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Bfile> &vect, const UString &schemaName, const UString &typeName); |
const BFileのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<BFloat> &vect const string &sqltype); |
BFloatのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Blob> &vect, const string &schemaName, const string &typeName); |
const Blobのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Blob> &vect, const UString &schemaName, const UString &typeName); |
const Blobのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Clob> &vect, const string &schemaName, const string &typeName); |
const Clobのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Clob> &vect, const UString &schemaName, const UString &typeName); |
const Clobのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Date> &vect, const string &schemaName, const string &typeName); |
const Dateのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Date> &vect, const UString &schemaName, const UString &typeName); |
const Dateのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<double> &vect, const string &schemaName, const string &typeName); |
const doubleのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<double> &vect, const UString &schemaName, const UString &typeName); |
const doubleのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<float> &vect, const string &schemaName, const string &typeName); |
const floatのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<float> &vect, const UString &schemaName, const UString &typeName); |
const floatのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<int> &vect, const string &schemaName, const string &typeName); |
const intのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<int> &vect, const UString &schemaName, const UString &typeName); |
const intのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<IntervalDS> &vect, const string &schemaName, const string &typeName); |
const IntervalDSのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<IntervalDS> &vect, const UString &schemaName, const UString &typeName); |
const IntervalDSのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<IntervalYM> &vect, const string &schemaName, const string &typeName); |
const IntervalYMのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<IntervalYM> &vect, const UString &schemaName, const UString &typeName); |
const IntervalYMのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Number> &vect, const string &schemaName, const string &typeName); |
const Numberのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Number> &vect, const UString &schemaName, const UString &typeName); |
const Numberのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<RefAny> &vect, const string &schemaName, const string &typeName); |
const RefAnyのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<RefAny> &vect, const UString &schemaName, const UString &typeName); |
const RefAnyのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<string> &vect, const string &schemaName, const string &typeName); |
const stringのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<string> &vect, const UString &schemaName, const UString &typeName); |
const stringのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Timestamp> &vect, const string &schemaName, const string &typeName); |
const Timestampのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<Timestamp> &vect, const UString &schemaName, const UString &typeName); |
const Timestampのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<unsigned int> &vect, const string &schemaName, const string &typeName); |
const unsigned intのベクターを設定します。マルチバイト・サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, const vector<unsigned int> &vect, const UString &schemaName, const UString &typeName); |
const unsigned intのベクターを設定します。UTF16サポートの場合です。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<Bfile> &vect, string &sqltype); |
Bfileのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<Blob> &vect, string &sqltype); |
Blobのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<Clob> &vect, string &sqltype); |
Clobのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<Date> &vect, string &sqltype); |
Dateのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<double> &vect, string &sqltype); |
doubleのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<float> &vect, string &sqltype); |
floatのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<int> &vect, string &sqltype); |
intのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<IntervalDS> &vect, string &sqltype); |
IntervalDSのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<IntervalYM> &vect, string &sqltype); |
IntervalYMのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<Number> &vect, string &sqltype); |
Numberのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<RefAny> &vect, string &sqltype); |
RefAnyのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<string> &vect, string &sqltype); |
stringのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<Timestamp> &vect, string &sqltype); |
Timestampのベクターを設定します。 |
void setVector( Statement *stmt, unsigned int paramIndex, vector<unsigned int> &vect, string &sqltype); |
unsigned intのベクターを設定します。 |
template <class T> void setVector( Statement *stmt, unsigned int paramIndex, const vector< T* > &vect, const string &sqltype); |
この構文は、関数テンプレートの一部の順序付けがサポートされていないプラットフォームで使用します。 |
template <class T> void setVector( Statement *stmt, unsigned int paramIndex, const vector<T> &vect, const string &sqltype); |
この構文は、関数テンプレートの一部の順序付けがサポートされているプラットフォームで使用します。 |
template <class T> void setVector( Statement *stmt, unsigned int paramIndex, vector<Ref<T>> &vect, string &sqltype); |
この構文は、関数テンプレートの一部の順序付けがサポートされているプラットフォームでのみ使用できます。かわりにsetVectorOfRefs()を使用できます。 |
| パラメータ | 説明 |
|---|---|
stmt |
パラメータを設定する文を指定します。 |
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
vect |
設定するベクターを指定します。 |
sqltype |
データベース内のコレクションのSQL型を指定します。たとえば、CREATE TYPE num_coll AS VARRAY OF NUMBERの場合を考えてみます。列/パラメータの型はnum_collとします。この場合、SQL型はnum_collになります。 |
schemaName |
使用するスキーマの名前を指定します。 |
typeName |
型。 |
パラメータをベクターに設定します。型がREFのコレクション型またはREFのネストした表の場合に使用します。
| 構文 | 説明 |
|---|---|
template <class T> void setVectorOfRefs( Statement *stmt, unsigned int paramIndex, const vector<Ref<T> > &vect, const string &sqltype); |
パラメータをベクターに設定します。型がREFのコレクション型(REFのVARRAYまたはネストした表)の場合に使用します。 |
template <class T> void setVectorOfRefs( Statement *stmt, unsigned int paramIndex, const vector<Ref<T> > &vect, const string &sqltype); |
マルチバイト・サポート用に使用します。 |
template <class T> void setVectorOfRefs( Statement *stmt, unsigned int paramIndex, const vector<Ref<T>> &vect, const string &schemaName, const string &typeName); |
マルチバイト・サポート用に使用します。 |
template <class T> void setVectorOfRefs( Statement *stmt, unsigned int paramIndex, const vector<Ref<T> &vect, const UString &schemaName, const UString &typeName); |
この構文は、Windows NTおよびz/OSなど、関数テンプレートの一部の順序付けがサポートされていないプラットフォームでUTF16をサポートする場合に使用します。 |
template <class T> void setVector( Statement *stmt, unsigned int paramIndex, const vector<T* > &vect, const UString &schemaName, const UString &typeName); |
この構文は、関数テンプレートの一部の順序付けがサポートされているプラットフォームでUTF16をサポートする場合に使用します。 |
| パラメータ | 説明 |
|---|---|
stmt |
パラメータを設定する文を指定します。 |
paramIndex |
パラメータの索引を、第1パラメータは1、第2パラメータは2のように指定します。 |
vect |
設定するベクターを指定します。 |
sqltype |
パラメータまたは列のSQL型を指定します。Ref<T>に対しては、特化した関数のsetVector()ではなく、setVectorOfRefs()を使用してください。 |
schemaName |
使用するスキーマの名前を指定します。 |
typeName |
型。 |
文の現在のステータスを戻します。 書き込む(または読み込む)ストリーム・データがある場合に役に立ちます。 getCurrentStreamParam()やgetCurrentIteration()などの他のメソッドをコールすると、書き込む必要があるストリーム・パラメータおよび反復実行や配列実行の現在の反復数を確認できます。 このstatus()メソッドは、実行のステータスを調査するために繰り返してコールできます。
戻り値Statusは、表13-42の定義を参照してください。
構文
Status status() const;