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メソッド