5.10 DBCallableStatementクラスの詳細

ストアドプロシジャの実行を管理します。

このクラスは,ストアドプロシジャの実行やその結果の取得などのメソッドを提供するクラスです。ストアドプロシジャについては,「1.6.11 ストアドプロシジャの利用」,又は「2.6.6 ストアドプロシジャの利用」を参照してください。

ストアドプロシジャを指定できるDBMS
  • ORACLE
  • HiRDB
  • SQLAnywhere,Adaptive Server Anywhere
  • SQL Server
ストアドプロシジャへの引数設定と実行結果の受け取り
引数を持つプロシジャでは,IN,OUT,IN/OUTのどの属性の引数に対しても?パラメタを使えます。IN,又はIN/OUTの引数に対しては,Executeメソッドで実行する前に,SetParamメソッドで値を設定します。
プロシジャの実行後,IN/OUT,又はOUTの引数に格納された結果を取得するためにはGetParamメソッドを使います。
SQL Anywhere,Adaptive Server Anywhereでは,実行結果をGetResultSetメソッドで生成したDBResultSetオブジェクトとして受け取ることもできます。

なお,GetParamメソッドは,DBPreparedStatementクラスではSetParamメソッドで設定した値を取得するメソッドであるのに対し,DBCallableStatementクラスでは,IN/OUT,又はOUT引数に出力されたストアドプロシジャの実行結果を取得するメソッドです。

機 能メソッド名
ストアドプロシジャを実行します。Execute
SQL文の非同期実行時のエラー情報を得るために,DBSQLCAオブジェクトへのポインタを取得します。GetErrorStatus
SetMaxFieldSizeメソッドで設定したデータ長を取得します。GetMaxFieldSize
ResultSetに検索できるレコード数の最大値を取得します。GetMaxRows
DBCallableStatementオブジェクトの名前を取得します。GetName
IN/OUT,OUTパラメタの数を取得します。GetOutputParams
ストアドプロシジャの実行結果を取得します。GetParam
IN,IN/OUTパラメタの数を取得します。GetParamCount
ストアドプロシジャを実行し,検索したレコードから,ResultSetオブジェクトを生成します。GetResultSet
DBCallableStatementオブジェクトに非同期実行中(又は実行待ち)のステートメントがあるかどうかを確認します。InExecute
ストアドプロシジャの実行が完了したかどうかを確認します。IsCompleted
IN/OUT,OUTパラメタの値がNULL(欠損値)かどうか確認します。IsNull
対象となるオブジェクトを生成したDBConnectionオブジェクトのポインタを取得します。Parent
DBCallableStatementオブジェクトを削除します。Remove
指定されたパラメタの値にNULL(欠損値)を設定します。SetNull
DBResultSetオブジェクトを削除します。RemoveResultSet
ストアドプロシジャの実行を再開します。Resume
アプリケーションで受け取るフィールドの長さを指定します。SetMaxFieldSize
ResultSetに検索するレコード数の最大値を指定します。SetMaxRows
IN/OUT,INパラメタの値を設定します。SetParam
引数で指定したストアドプロシジャ名をデータベースに通知します。SetProcedure
DBResultSetオブジェクトの生成オプションを指定します。SetResultSetType
DBCallableStatementオブジェクトで要求した実行待ち,及び実行中の非同期処理が終了するまで待ちます。WaitForDataSource
<この節の構成>
Executeメソッド
GetErrorStatusメソッド
GetMaxFieldSizeメソッド
GetMaxRowsメソッド
GetNameメソッド
GetOutputParamsメソッド
GetParamメソッド
GetParamCountメソッド
GetResultSetメソッド
InExecuteメソッド
IsCompletedメソッド
IsNullメソッド
Parentメソッド
Removeメソッド
RemoveResultSetメソッド
Resumeメソッド
SetMaxFieldSizeメソッド
SetMaxRowsメソッド
SetNullメソッド
SetParamメソッド
SetProcedureメソッド
SetResultSetTypeメソッド
WaitForDataSourceメソッド