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 クラス