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 プロパティ」を参照してください。 このプロパティを直接取得するには、CDaoQueryDef::GetName を呼び出します。
m_nType
querydef オブジェクトの操作の種類を示す値。 値は次のいずれかになります。
dbQSelect
選択 — クエリによってレコードが選択されます。dbQAction
アクション — クエリはデータを移動または変更しますが、レコードは返しません。dbQCrosstab
クロス集計 — クエリはスプレッドシートのような形式でデータを返します。dbQDelete
Delete — クエリは、指定された行のセットを削除します。dbQUpdate
更新 — クエリによってレコードのセットが変更されます。dbQAppend
追加 — クエリは、テーブルまたはクエリの末尾に新しいレコードを追加します。dbQMakeTable
テーブル作成 — クエリによってレコードセットから新しいテーブルが作成されます。dbQDDL
データ定義 — クエリは、テーブルまたはその部分の構造に影響します。dbQSQLPassThrough
パススルー - SQL ステートメントは、中間処理なしでデータベース バックエンドに直接渡されます。dbQSetOperation
Union — クエリは、重複レコードが削除された 2 つ以上のテーブル内のすべての指定されたレコードのデータを含む、スナップショット型のレコードセット オブジェクトを作成します。 重複を含めるには、querydef の SQL ステートメントに キーワード (keyword) ALL を追加します。dbQSPTBulk
レコードを返さないクエリを指定するために使用dbQSQLPassThrough
されます。
Note
SQL パススルー クエリを作成するには、定数を dbQSQLPassThrough
設定しません。 これは、querydef オブジェクトを作成して Connect プロパティを設定すると、Microsoft Jet データベース エンジンによって自動的に設定されます。
詳細については、DAO ヘルプの「Type プロパティ」を参照してください。
m_dateCreated
querydef が作成された日付と時刻。 querydef が作成された日付を直接取得するには、テーブルに関連付けられているオブジェクトの CDaoTableDef
GetDateCreated メンバー関数を呼び出します。 詳細については、以下のコメントを参照してください。 DAO ヘルプの「DateCreated,LastUpdated プロパティ」のトピックも参照してください。
m_dateLastUpdated
querydef に対して行われた最新の変更の日時。 テーブルが最後に更新された日付を直接取得するには、querydef の GetDateLastUpdated メンバー関数を呼び出します。 詳細については、以下のコメントを参照してください。 DAO ヘルプの「DateCreated,LastUpdated プロパティ」のトピックを参照してください。
m_bUpdatable
querydef オブジェクトに変更を加えることができるかどうかを示します。 このプロパティが TRUE の場合、querydef は更新可能です。それ以外の場合は、そうではありません。 更新可能とは、querydef オブジェクトのクエリ定義を変更できることを意味します。 結果のレコードセットが更新できない場合でも、クエリ定義を更新できる場合、querydef オブジェクトの Updatable プロパティは TRUE に設定されます。 このプロパティを直接取得するには、querydef の CanUpdate メンバー関数を呼び出します。 詳細については、DAO ヘルプの「更新可能なプロパティ」を参照してください。
m_bReturnsRecords
外部データベースへの SQL パススルー クエリがレコードを返すかどうかを示します。 このプロパティが TRUE の場合、クエリはレコードを返します。 このプロパティを直接取得するには、CDaoQueryDef::GetReturnsRecords を呼び出 します。 外部データベースに対するすべての SQL パススルー クエリがレコードを返すわけではありません。 たとえば、SQL UPDATE ステートメントはレコードを返さずにレコードを更新し、SQL Standard Edition LECT ステートメントはレコードを返します。 詳細については、DAO ヘルプのトピック「ReturnsRecords プロパティ」を参照してください。
m_strSQL
querydef オブジェクトによって実行されるクエリを定義する 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 への参照は、クラスCDaoDatabase
の GetQueryDefInfo メンバー関数によって情報がどのように返されるかを示します。
CDaoDatabase::GetQueryDefInfo メンバー関数によって取得された情報は、構造体にCDaoQueryDefInfo
格納されます。 querydef オブジェクトが格納されている QueryDefs コレクション内のデータベース オブジェクトを呼び出 GetQueryDefInfo
します。 CDaoQueryDefInfo
では、デバッグ ビルドで Dump
メンバー関数も定義します。 Dump
を使用して、CDaoQueryDefInfo
オブジェクトの内容をダンプすることができます。 クラス CDaoDatabase
には、オブジェクトで CDaoQueryDefInfo
返されるすべてのプロパティに直接アクセスするためのメンバー関数も用意されているため、呼び出す GetQueryDefInfo
必要はほとんどありません。
querydef オブジェクトの Fields または Parameters コレクションに新しいフィールドまたはパラメーター オブジェクトを追加すると、基になるデータベースが新しいオブジェクトに指定されたデータ型をサポートしていない場合、例外がスローされます。
日付と時刻の設定は、querydef が作成または最後に更新されたコンピューターから派生します。 マルチユーザー環境では、DateCreated プロパティと LastUpdated プロパティ設定の不一致を回避するために、net time コマンドを使用してファイル サーバーからこれらの設定を直接取得する必要があります。
必要条件
ヘッダー: afxdao.h
関連項目
構造体、スタイル、コールバック関数とメッセージ マップ
CDaoQueryDef クラス
CDaoDatabase クラス
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示