CdbrEqlStatement::Executeメソッド
機能
設定済みedmSQL文の実行
形式
DmaBoolean Execute (
ppDmaString_T ppParseMessage = NULL)
詳細
検索(edmSQL文)を実行するメソッドです。CdbrEqlStatement::Setメソッドで登録されているedmSQL文に,CdbrEqlStatement::SetObjParamメソッド,CdbrEqlStatement::SetOIIDParamメソッドまたはCdbrEqlStatement::SetParamメソッドで設定された?パラメタの値を設定してSQL文を生成し,実行します。
edmSQL文が正常に実行できた場合,CdbrEqlStatement::Initializeメソッドの初期値(デフォルト値は-1で全件取得するという意味)またはCdbrEqlStatement::ChangeGetObjCountメソッドで設定される件数分の検索結果を取得して,クライアントに保持します。ただし,この時点では検索結果をクライアントに保持するだけ※なので,その取得にはCdbrEqlStatement::GetResultメソッドを使用してください。
次に示すメソッドがコールされていない状態でこのメソッドをコールした場合は,エラーになります。
戻り値がDMA_FALSEの場合,検索(edmSQL文)実行後の内容は保証できません。
引数
ppParseMessage
edmSQL文の構文解析の実行結果メッセージを格納する領域へのアドレスを指定します。
アドレスが指定されていない場合(NULLを指定した場合)には,構文解析でedmSQL文のエラーが検出されてもメッセージは設定されません。
省略した場合にはNULLを指定したときと同じ動作をします。
戻り値
DMA_TRUE 正常終了
DMA_FALSE 異常終了
戻り値の詳細
major_code | minor_code | 説明 | 対処 |
---|---|---|---|
ERR_CORBA | CORBAの戻り値が設定されます。 | CORBAでエラーが発生しました。 | ユーザプログラムでは対処できません。エラー情報として文字列の値を取得して,ユーザプログラムを終了してください。 |
ERR_DB | ERR_DB_DEADLOCK_OCCURRED | データベースでデッドロックが発生しました。 | 時間を置いて,再度実行してください。 |
ERR_DB | ERR_DB_FAILED | データベースで障害が発生しました。 | syslogを参照して,障害の原因を取り除いてください。 |
ERR_DB | ERR_DB_LOCKED | オブジェクトがロックされています。 | 時間を置いて,再度実行してください。 |
ERR_DBR | ERR_EQL_BAD_STATEMENT | 不正なedmSQL文を実行しようとしました。 | edmSQL文を見直してください。必要に応じて構文解析結果情報を取得してください。 |
ERR_DBR | ERR_EQL_NOT_INITIALIZE | 初期化が実行されていません。 | 初期化を実行してください。 |
ERR_DBR | ERR_EQL_STATEMENT_NOT_SET | 実行するedmSQL文が登録されていません。 | CdbrEqlStatement::Setメソッドで実行するedmSQL文を登録してください。 |
ERR_DBR | ERR_INVALID_STATUS | セッションの状態が不正です。一つのセッションに同時に複数のメソッド処理要求が出されています。 | 一つのセッションに対しては,一度に一つの処理要求しか出さないように見直してください。 |
ERR_DBR | ERR_SESSION_NOT_CONNECT | セッションが接続されていません。 | セッションを接続してください。 |
ERR_DMA | DMARC_NO_MEMORY | メモリ不足で実行できません。 | メモリを増設してください。またはメモリを大量に消費しているアプリケーションを停止させて,処理を再実行してください。 |
ERR_DMA | DMARC_NOT_SUPPORTED | このセッションまたはオブジェクトではサポートされていないメソッドです。 または,サポートされていないデータ型です。 | この操作は実行できません。 |
ERR_DMA | DMARC_TIMEOUT | 制限時間を超過しました。 | タイムアウトしました。 |
ERR_DMA | DMARC_UNEXPECTED | 予期しないエラーが発生しました。 | 処理を終了してください。 |
ERR_DMA | EDMRC_NOT_INTRANSACTION | トランザクション外でメソッドが呼ばれました。 | Beginメソッドの呼び出し後に,この操作を実行してください。 |
ERR_DMA | EDMRC_QPARAM_BAD_VALUE | ?パラメタの設定で指定した値が,不正である可能性があります。 | 設定した?パラメタの値,データ型を見直してください。 |
ERR_DMA | EDMRC_QPARAM_INDEX_OUT_OF_RANGE | ?パラメタの設定で指定した値の個数を超える出現順序が指定されています。 | ?パラメタの設定を見直して,正しい出現順序を指定してください。 |