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()
は、最後の値の読込みで、この特別な値があったかどうかをレポートします。最初に、パラメータでge
txxx
()
をコールしてこの値を読み込み、次に、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パラメータの場合はset
xxx
()
メソッドを使用します。
out
パラメータの値を読み取る場合は、登録されているパラメータのSQL型に対応するget
xxx
()
メソッドを使用する必要があります。たとえば、指定されている型が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
パラメータでget
xxx
()
をコールすると、パラメータの値が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;