次の方法で共有


CDaoQueryDef::Execute

更新 : 2007 年 11 月

クエリ定義オブジェクトにより定義されたクエリを実行します。

virtual void Execute( 
   int nOptions = dbFailOnError  
);

パラメータ

  • nOptions
    クエリの特性を決める整数。関連情報については、DAO ヘルプの「Execute Method」を参照してください。ビットごとの OR 演算子 (|) を使用して次の定数を自由に組み合わせることができます。

    • dbDenyWrite   他のユーザーに書き込み権を許可しません。

    • dbInconsistent   一貫性を持たない更新。

    • dbConsistent   一貫性を持つ更新。

    • dbSQLPassThrough   SQL パススルー。SQL ステートメントは ODBC に渡され、処理されます。

    • dbFailOnError   既定値。エラーが発生したら、更新をロールバックし、ユーザーにエラーをリポートします。

    • dbSeeChanges   編集中のデータを別のユーザーが変更したときに、ランタイム エラーを生成します。

    tx40k085.alert_note(ja-jp,VS.90).gifメモ :

    "矛盾" (一貫性を持たない) と "一貫性" (一貫性を持つ) の詳細については、DAO ヘルプの「Execute Method」を参照してください。

解説

この構文を使って実行できるクエリ定義オブジェクトは次のクエリ型の 1 つしか表せません。

  • アクション クエリ

  • SQL パススルー クエリ

Execute は、選択クエリのようなレコードを返すクエリは実行しません。Execute は、通常 UPDATEINSERT、または SELECT INTO のような一括操作クエリ、または DDL (Data Definition Language) 操作に使われます。

tx40k085.alert_note(ja-jp,VS.90).gifヒント :

ODBC データ ソースを使って作業するには、テーブルを Microsoft Jet (.MDB) データベースに関連付けます。詳細については、DAO ヘルプの「Accessing External Databases with DAO」を参照してください。

直前の Execute の呼び出しで影響を受けたレコード数を調べるには、クエリ定義オブジェクトの GetRecordsAffected メンバ関数を呼び出します。たとえば、GetRecordsAffected は、アクション クエリを実行したときに、削除、更新、挿入されたレコード数についての情報を返します。カスケード更新やカスケード削除が行われた場合、返されるレコード数には、関連テーブルでの変更内容は反映されていません。

dbInconsistent および dbConsistent の両方を指定したとき、またはどちらも指定しなかったときは既定の dbInconsistent になります。

Execute は、レコードセットを返しません。レコードを選択するクエリに対して Execute を使うと、MFC は CDaoException 型の例外をスローします。

必要条件

ヘッダー : afxdao.h

参照

参照

CDaoQueryDef クラス

階層図

その他の技術情報

CDaoQueryDef のメンバ