DABroker for C++
実行時に,動的に設定できる?パラメタを利用する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 |
All Rights Reserved. Copyright (C) 1998, 2015, Hitachi, Ltd.