CDaoQueryDefInfo 構造体

構造体 CDaoQueryDefInfo には、データ アクセス オブジェクト (DAO) に対して定義された querydef オブジェクトに関する情報が含まれています。

構文

struct CDaoQueryDefInfo
{
    CString m_strName;               // Primary
    short m_nType;   // Primary
    COleDateTime m_dateCreated;      // Secondary
    COleDateTime m_dateLastUpdated;  // Secondary
    BOOL m_bUpdatable;               // Secondary
    BOOL m_bReturnsRecords;          // Secondary
    CString m_strSQL;                // All
    CString m_strConnect;            // All
    short m_nODBCTimeout;            // All
};

パラメーター

m_strName
querydef オブジェクトに一意に名前を付けします。 詳細については、「DAO ヘルプ」の「Name Property」を参照してください。 CDaoQueryDef::GetNameを呼び出して、このプロパティを直接取得します。

m_nType
querydef オブジェクトの操作の種類を示す 値です。 値は次のいずれかになります。

  • dbQSelect クエリ — を選択すると、レコードが選択されます。

  • dbQAction アクション — クエリはデータを移動または変更しますが、レコードは返します。

  • dbQCrosstab クエリを — クロス集計すると、スプレッドシートのような形式でデータが返されます。

  • dbQDelete クエリ — を削除すると、指定した行のセットが削除されます。

  • dbQUpdate クエリ — を更新すると、レコードのセットが変更されます。

  • dbQAppend クエリ — を追加すると、テーブルまたはクエリの末尾に新しいレコードが追加されます。

  • dbQMakeTable テーブルを作成 — すると、クエリによってレコードセットから新しいテーブルが作成されます。

  • dbQDDL クエリのデータ — 定義は、テーブルまたはそれらの部分の構造に影響します。

  • dbQSQLPassThrough中間処理を行わずに、SQL ステートメントを直接データベース — バックエンドにパススルーします。

  • dbQSetOperation クエリを結合すると、重複するレコードが削除された 2 つ以上のテーブル内のすべての指定されたレコードのデータを含むスナップショット型 — のレコードセット オブジェクトが作成されます。 重複を含めるには、querydefの SQL ステートメントにキーワード ALL を追加します。

  • dbQSPTBulk と一 dbQSQLPassThrough 緒に使用して、レコードを返していないクエリを指定します。

注意

パススルー クエリSQL作成するには、定数を設定 dbQSQLPassThrough しない必要があります。 これは、querydef オブジェクトを作成し、 プロパティを設定するときに、Microsoft Jet データベース エンジンによってConnectされます。

詳細については、「DAO ヘルプ」の「型プロパティ」を参照してください。

m_dateCreated
querydef が作成された日時。 querydef が作成された日付を直接取得するには、テーブルに関連付けられている オブジェクト の GetDateCreated メンバー関数 を呼び出します。 詳細については、以下のコメントを参照してください。 DAO ヘルプのトピック「DateCreated, LastUpdated Properties」も参照してください。

m_dateLastUpdated
querydef に対して行われた最新の変更の日時。 テーブルが最後に更新された日付を直接取得するには、querydef の GetDateLastUpdated メンバー関数を呼び出します。 詳細については、以下のコメントを参照してください。 DAO ヘルプのトピック「DateCreated, LastUpdated Properties」を参照してください。

m_bUpdatable
querydef オブジェクトに変更を加えるかどうかを示します。 このプロパティが TRUE の場合、querydef は更新可能です。それ以外の場合は、そうではありません。 更新可能とは、querydef オブジェクトのクエリ定義を変更できる場合を意味します。 querydef オブジェクトの Updateable プロパティは、結果のレコードセットが更新できない場合でも、クエリ定義を更新できる場合は TRUE に設定されます。 このプロパティを直接取得するには、querydef の CanUpdate メンバー関数を呼び 出します。 詳細については、「DAO ヘルプ」の「更新可能なプロパティ」を参照してください。

m_bReturnsRecords
外部データベースに対SQLパススルー クエリがレコードを返すかどうかを示します。 このプロパティが TRUE の場合、クエリはレコードを返します。 このプロパティを直接取得するには 、CDaoQueryDef::GetReturnsRecords を呼び出します。 外部データベースSQLパススルー クエリの一部がレコードを返す必要があります。 たとえば、UPDATE ステートメントSQLレコードを返さずにレコードを更新し、SELECTステートメントSQLはレコードを返します。 詳細については、DAO ヘルプの「ReturnsRecords プロパティ」を参照してください。

m_strSQL
querydef SQL実行されるクエリを定義するステートメントです。 プロパティSQL、クエリの実行時にレコードSQL選択、グループ化、順序付けする方法を決定する SQL ステートメントが含まれます。 クエリを使用して、ダイナセットまたはスナップショット型のレコードセット オブジェクトに含めるレコードを選択できます。 レコードを返さずにデータを変更する一括クエリを定義できます。 このプロパティの値は、querydef の GetSQL メンバー関数を呼び出すことによって直接取得できます。

m_strConnect
パススルー クエリで使用されるデータベースのソースに関する情報を提供します。 この情報は、接続文字列の形式になります。 接続文字列の詳細と、このプロパティの値を直接取得する方法の詳細については 、CDaoDatabase::GetConnect メンバー関数を参照してください。

m_nODBCTimeout
ODBC データベースでクエリを実行するときにタイムアウト エラーが発生するまでに Microsoft Jet データベース エンジンが待機する時間 (秒単位)。 Microsoft SQL Server などの ODBC データベースを使用している場合は、ネットワーク トラフィックや ODBC サーバーの使用が多く、遅延が発生する可能性があります。 無期限に待機するのではなく、Microsoft Jet エンジンがエラーを生成するまでの待機時間を指定できます。 既定のタイムアウト値は 60 秒です。 このプロパティの値は、querydef の GetODBCTimeout メンバー関数を呼び出すことによって直接取得できます。 詳細については、「DAO ヘルプ」の「ODBCTimeout プロパティ」を参照してください。

注釈

querydef は 、CDaoQueryDef クラスのオブジェクトです。 上記の Primary、Secondary、All への参照は、 クラスの GetQueryDefInfo メンバー関数によって情報がどのように返されるのか示しています

CDaoDatabase::GetQueryDefInfoメンバー関数によって取得された情報は、 構造体に格納 されます。 GetQueryDefInfoquerydef オブジェクトが格納されている QueryDefs コレクションを持つ のデータベース オブジェクトを呼び出します。 CDaoQueryDefInfo では、デバッグ ビルドで Dump メンバー関数も定義します。 Dump を使用して、CDaoQueryDefInfo オブジェクトの内容をダンプすることができます。 クラスには、 オブジェクトで返されたプロパティに直接アクセスするメンバー関数も用意されています。そのため、 を呼び出す必要はめったに CDaoDatabaseCDaoQueryDefInfo ありません GetQueryDefInfo

querydef オブジェクトの Fields または Parameters コレクションに新しいフィールドまたはパラメーター オブジェクトを追加すると、基になるデータベースが新しいオブジェクトに指定されたデータ型をサポートしていない場合、例外がスローされます。

日付と時刻の設定は、querydef が作成または最後に更新されたコンピューターから派生します。 マルチユーザー環境では、ユーザーは net time コマンドを使用してファイル サーバーからこれらの設定を直接取得し、DateCreated プロパティと LastUpdated プロパティ設定の不一致を回避する必要があります。

必要条件

ヘッダー: afxdao.h

関連項目

構造体、スタイル、コールバック関数とメッセージ マップ
CDaoQueryDef クラス
CDaoDatabase クラス