実行時に,動的に設定できる?パラメタを利用する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 |