DABroker for C++

[目次][用語][索引][前へ][次へ]

5.9 DBPreparedStatementクラスの詳細

実行時に,動的に設定できる?パラメタを利用するSQL文を管理します。このクラスは,?パラメタを含むSQL文の実行やその結果の取得などのメソッドを提供するクラスです。

DBPreparedStatementクラスを使えば,?の値を除いて実行するSQL文が固定されるため,DBMSのSQL文シンタックスチェックが最初以外必要なくなります。例えば,同じテーブルに対してデータを追加する場合,INSERT文の形式は固定され,データだけが変化します。このような場合,?パラメタは効果的に利用できます。

上記の場合,Executeメソッドは最初だけ呼び出せばよく,その後の更新処理では,SetParam,ExecuteUpdate,SetParam,ExecuteUpdate…と繰り返し実行することで異なるデータを追加できます。指定方法の詳細については,「2.6 詳細版クラスのデータベースアクセス」を参照してください。

ORACLEを使用している場合,?パラメタはプレースホルダに相当します。?パラメタとプレースホルダのどちらでも指定できますが,一つのSQL文中に混在はできません。

SQL/Kの場合,?パラメタを含むSQLの実行時は,必ず?パラメタに値を設定してください。SetNull,及びデフォルト値(NULL)を使用した場合,ExecuteUpdate,及びGetResultSetでエラーになります。NULL値を指定したい場合は,?パラメタの代わりにNULL述語を指定してください。

機 能 メソッド名
データベースにSQL実行の情報を通知します。 Execute
INSERT, DELETE, UPDATEのSQL文を実行します。 ExecuteUpdate
SQL文の非同期実行時のエラー情報を得るために,DBSQLCAオブジェクトへのポインタを取得します。 GetErrorStatus
検索結果のフィールドの数を取得します。 GetFieldCount
SetMaxFieldSizeメソッドで設定したデータ長を取得します。 GetMaxFieldSize
ResultSetに検索できるレコード数の最大値を取得します。 GetMaxRows
DBPreparedStatementオブジェクトの名前を取得します。 GetName
SetParamメソッドで指定したパラメタの値を取得します。 GetParam
パラメタの数を取得します。 GetParamCount
SQL文を実行し,検索したレコードから,ResultSetオブジェクトを生成します。 GetResultSet
DBResultSetMetaDataオブジェクトを生成します。 GetResultSetMetaData
SQL文を使って更新,追加,又は削除したレコード数を取得します。 GetUpdateRows
DBPreparedStatementオブジェクトに非同期実行中(又は実行待ち)のステートメントがあるかどうかを確認します。 InExecute
パラメタの値がNULL(欠損値)かどうか確認します。 IsNull
対象となるオブジェクトを生成したDBConnectionオブジェクトのポインタを取得します。 Parent
DBPreparedStatementオブジェクトを削除します。 Remove
DBResultSetオブジェクトを削除します。 RemoveResultSet
SQLのINSERT文使用時,1度に何レコード挿入するかを指定します。 SetInsertRows
アプリケーションで受け取るフィールドの長さを指定します。 SetMaxFieldSize
ResultSetに検索するレコード数の最大値を指定します。 SetMaxRows
指定されたパラメタにNULL(欠損値)を設定します。 SetNull
?パラメタに値を設定します。 SetParam
?パラメタの属性を指定します。 SetParamType
DBResultSetオブジェクトの生成オプションを指定します。 SetResultSetType
DBPreparedStatementオブジェクトで要求した実行待ち,及び実行中の非同期処理が終了するまで待ちます。 WaitForDataSource
<この節の構成>
Executeメソッド
ExecuteUpdateメソッド
GetErrorStatusメソッド
GetFieldCountメソッド
GetMaxFieldSizeメソッド
GetMaxRowsメソッド
GetNameメソッド
GetParamメソッド
GetParamCountメソッド
GetResultSetメソッド
GetResultSetMetaDataメソッド
GetUpdateRowsメソッド
InExecuteメソッド
IsNullメソッド
Parentメソッド
Removeメソッド
RemoveResultSetメソッド
SetInsertRowsメソッド
SetMaxFieldSizeメソッド
SetMaxRowsメソッド
SetNullメソッド
SetParamメソッド
SetParamTypeメソッド
SetResultSetTypeメソッド
WaitForDataSourceメソッド