最新のWeb開発のチュートリアル
 

ADO WillExecuteとExecuteCompleteイベント


<完全な接続オブジェクト参照

イベントは、特定の操作が発生した後に自動的に呼び出すことができサブルーチンです。

  • WillExecuteイベントは、ちょうどobjcomm.Execute、objconn.Execute、またはobjrs.Openへの呼び出しの前に焼成することができます。
  • ExecuteComplete objcomm.Execute、objconn.Execute、objrs.Open、objrs.Requery、またはobjrs.NextRecordsetへの呼び出しが完了した後にイベントを焼成することができます。

構文

WillExecute src,cursortyp,locktyp,options,
status,objcomm,objrs,objconn

ExecuteComplete recaffected,objerror,status,
objcomm,objrs,objconn

パラメーター 説明
src SQLコマンドまたはストアドプロシージャ名を含む文字列
cursortyp 使用されるカーソルの種類を指定します。 一つCursorTypeEnumの
locktyp 使用されるロックのタイプを指定します。 一つLockTypeEnumの
options 一つ以上のCommandTypeEnumまたはExecuteOptionEnum
recaffected 実行によって影響を受けるレコードの数
objerror 発生したエラーが含まれているエラーオブジェクト

Note: EventStatusEnum値は、Errorオブジェクトを作成するために、adStatusErrorsOccurredに設定する必要があります

status EventStatusEnumの
objcomm WillExecute :実行されたCommandオブジェクトまたはNothingに設定してください

以下のためのExecuteComplete実行されたCommandオブジェクト:

objrs WillExecute :コマンドの実行から、またはNothingになったRecordsetオブジェクトに設定します

以下のためのExecuteComplete実行したコマンドの結果であるRecordsetオブジェクト:

objconn コマンドの実行に関連付けられているConnectionオブジェクト

CursorTypeEnum値

Recordsetオブジェクトで使用されるカーソルの種類を指定します。

定数 説明
adOpenUnspecified-1 カーソルの種類を指定しません。
adOpenForwardOnly0 デフォルト。 前方専用カーソルを使用します。 あなたはレコードのみを前方にスクロールすることができることを除いて、静的カーソルと同じです。 あなたがレコードセットを1回だけを作るために必要がある場合にパフォーマンスが向上します。
adOpenKeyset1 キーセットカーソルを使用します。 動的カーソルのように、あなたは他のユーザーが削除するレコードがレコードセットからアクセスできませんが、他のユーザーが、追加レコードを表示することができないことを除いて。 他のユーザーによるデータの変更がまだ表示されています。
adOpenDynamic2 動的カーソルを使用します。 他のユーザーによる追加、変更、および削除が表示され、そしてプロバイダがそれらをサポートしていない場合はレコードセットを運動のすべての種類は、ブックマークを除いて、許可されています。
adOpenStatic3 静的カーソルを使用します。 あなたはデータの検索やレポートの生成に使用できるレコードセットの静的コピー。 他のユーザーによる追加、変更、または削除が表示されません。

LockTypeEnum値

定数 説明
adLockUnspecified-1 ロックの種類を指定しません。 クローンの場合、クローンはオリジナルと同じロックタイプで作成されます。
adLockReadOnly1 読み取り専用のレコードを示します。 あなたはデータを変更することはできません。
adLockPessimistic2 悲観的ロック、レコードごとに示します。 プロバイダは通常、すぐに編集後のデータソースでレコードをロックすることにより、記録の成功の編集を確保するためには何が必要かを行います。
adLockOptimistic3 楽観的ロック、レコードごとに示します。 プロバイダを使用すると、Updateメソッドを呼び出した場合にのみ、レコードをロックし、楽観的ロックを使用しています。
adLockBatchOptimistic4 楽観的なバッチ更新を示します。 バッチ更新モードでは必須。

CommandTypeEnum値

定数 説明
adCmdUnspecified-1 コマンド型引数を指定していません。
adCmdText1 コマンドのテキスト定義またはストアド・プロシージャ・コールなどのCommandTextを評価します。
adCmdTable2 CommandTextがその列はすべて、内部で生成されたSQLクエリによって返されるテーブル名として評価します。
adCmdStoredProc4 CommandTextがストアド・プロシージャ名として評価します。
adCmdUnknown8 CommandTextプロパティ内のコマンドの種類が知られていないことを示します。
adCmdFile256 CommandTextが永続的に保存されたレコードのファイル名として評価します。 のみRecordset.Openまたは再クエリで使用します。
adCmdTableDirect512 CommandTextがその列はすべて返されるテーブル名として評価します。 のみRecordset.Openまたは再クエリで使用します。 Seekメソッドを使用するには、レコードセットはadCmdTableDirectで開かれている必要があります。 この値は、ExecuteOptionEnum値adAsyncExecuteと組み合わせることはできません。

ExecuteOptionEnum値

定数 説明
adOptionUnspecified-1 コマンドが指定されていないことを示します。
adAsyncExecute16 コマンドは非同期に実行すべきであることを示します。 この値は、CommandTypeEnum値adCmdTableDirectと組み合わせることはできません。
adAsyncFetch32 CacheSizeプロパティで指定された初期量の後、残りの行は非同期で取得する必要があることを示しています。
adAsyncFetchNonBlocking64 取得中にメインスレッドが決してブロックすることを示します。 要求された行が取得されていない場合、現在の行は自動的にファイルの末尾に移動します。 あなたが永続的に保存されたレコードを含むストリームからレコードセットを開くと、adAsyncFetchNonBlockingは効果がありません。 操作は、同期とブロックされます。 adAsynchFetchNonBlockingはadCmdTableDirectオプションは、レコードセットを開くために使用されても効果はありません。
adExecuteNoRecords128 コマンドテキストがコマンドまたは行を返さないストアドプロシージャであることを示している(for example, a command that only inserts data) 。 任意の行が検索される場合、それらは破棄され、返されません。 adExecuteNoRecordsは、コマンドにオプションのパラメータとして渡されるか、接続方法を実行することができます。
adExecuteStream256 コマンドの実行結果はストリームとして返されるべきであることを示します。 adExecuteStreamは唯一の方法を実行するコマンドにオプションのパラメータとして渡すことができます。
adExecuteRecord512 CommandTextをコマンドまたはレコードオブジェクトとして返されるべきである単一の行を返すストアドプロシージャであることを示しています。

EventStatusEnum値

定数 説明
adStatusOK1 イベントを発射した操作は正常に終了しました
adStatusErrorsOccurred2 イベントを発射した操作に失敗しました
adStatusCantDeny3 保留中の操作をキャンセルすることはできません
adStatusCancel4 イベントを発射した操作をキャンセル
adStatusUnwantedEvent5 イベントメソッドの実行が完了する前に、後続の通知を防ぎます

<完全な接続オブジェクト参照