CDaoQueryDefInfo 構造体
CDaoQueryDefInfo の構造はデータ アクセス オブジェクト (DAO) に対して定義されたクエリ定義オブジェクトに関する情報が含まれています。
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
一意にクエリ定義オブジェクトを指定します。詳細については、 DAO ヘルプ トピック 「Name プロパティ」を参照してください。このプロパティを直接取得する呼び出し CDaoQueryDef::GetName 。m_nType
クエリ定義オブジェクトの操作上の型を示す値。値は、次のいずれかである可能性があります:[dbQSelect —クエリがレコードを選択します。
dbQAction の操作 —クエリまたは変更のデータが移動しますが、レコードを返しません。
dbQCrosstab Crosstab —クエリは、スプレッドシート形式のフォームのデータを返します。
—dbQDelete 削除クエリは、一連の指定した行を削除します。
dbQUpdate の更新 —クエリがレコードを変更します。
dbQAppend は追加します。クエリは、テーブルまたはクエリの最後に新しいレコードを追加します。
dbQMakeTable 作テーブル —クエリは、レコードセットから新しいテーブルを作成します。
—dbQDDL のデータ定義クエリは、テーブルまたは部分の構造に影響します。
dbQSQLPassThrough のパススルー — SQL ステートメントは中間処理しないで、データベースのバック エンドに直接渡されます。
dbQSetOperation の共有体 —クエリが削除されるすべての重複したレコードと複数のテーブルで指定されたすべてのレコードのスナップショットタイプのレコードセットの含むオブジェクトのデータを作成します。重複を含めるには、クエリ定義の SQL ステートメントのキーワード すべて を追加します。
dbQSPTBulk は dbQSQLPassThrough とレコードを返さないクエリを指定を行っています。
[!メモ]
SQL のパススルー クエリを作成するには、 dbQSQLPassThrough 定数を設定しません。これは Microsoft Jet データベース エンジンでクエリ定義オブジェクトを作成し、変換のプロパティを設定すると、自動的に設定されます。
詳細については、 DAO ヘルプ トピック 「型のプロパティ」を参照してください。
m_dateCreated
クエリ定義が作成された日時。直接クエリ定義があるして日付を取得するために作成、テーブルに関連付けられている CDaoTableDef のオブジェクトのメンバー関数を GetDateCreated 。詳細については、次のコメントを参照してください。また、トピック 「DateCreated の DAO ヘルプ LastUpdated のプロパティ」を参照してください。m_dateLastUpdated
対するクエリ定義に対するほとんどの最新の変更日時。直接最後にテーブルをダイヤルする日付を取得するように更新されますが、クエリの定義の GetDateLastUpdated のメンバー関数が。詳細については、次のコメントを参照してください。および 「DateCreated の DAO ヘルプ LastUpdated のプロパティ」を参照してください。m_bUpdatable
クエリ定義オブジェクトへの変更を行うことができるかどうかを示します。このプロパティが TRUE場合、クエリの定義は更新可能です。; それ以外の場合はありません。更新可能メジャーは、クエリ定義オブジェクトのクエリの定義変更できます。クエリ定義オブジェクトの更新可能なプロパティは TRUE に発生したレコードセットが更新可能でない場合でも、クエリ定義が更新がある場合に設定されます。このプロパティを直接取得するには、クエリ定義の CanUpdate のメンバー関数をダイヤルします。詳細については、 DAO ヘルプの 「更新可能なプロパティ」を参照してください。m_bReturnsRecords
外部データベースへの SQL のパススルー クエリがレコードを返すかどうかを示します。このプロパティが TRUE場合、クエリがレコードを返します。このプロパティを直接取得するには、呼び出し CDaoQueryDef::GetReturnsRecords。外部データベースの戻りレコードにないすべての SQL のパススルー クエリ。たとえば、 SQL の UPDATE ステートメントは、返されたレコードを使用せずに SQL のステートメント 選択 は、レコードを返すが、レコードを更新します。詳細については、 DAO ヘルプ トピック 「ReturnsRecords プロパティ」を参照してください。m_strSQL
クエリを定義する SQL ステートメントはクエリ定義オブジェクトによって実装されます。SQL のプロパティは、レコードが選択され、グループ化され、クエリの実行時に表示するかを決定する SQL ステートメントが含まれます。ダイナセットまたはスナップショットタイプのレコードセット オブジェクトに含めるレコードを選択するには、クエリを使用できます。また、返されたレコードを使用せず、データを変更するには、バルク クエリを定義できます。クエリ定義の GetSQL のメンバー関数を呼び出して、このプロパティの値を直接取得できます。m_strConnect
パススルー クエリで使用されるデータベースのソースに関する情報を提供します。この情報は、接続文字列の形式になります。詳細については、に関するこのプロパティの値を直接取得することに関する情報の文字列を、 " CDaoDatabase::GetConnect のメンバー関数を接続します。m_nODBCTimeout
クエリが ODBC データベースで実行するときにタイムアウト エラーが発生する前に Microsoft Jet データベース エンジンで待機する秒数。ODBC データベースは、 Microsoft SQL Server など使用すると、 ODBC サーバーのネットワーク トラフィックや頻繁な使用に少し時間がかかることがあります。エラーを生成する前に無期限に待機してではなく、 Microsoft Jet のエンジンが待機するかを指定できます。既定のタイムアウト値は 60 秒です。クエリ定義の GetODBCTimeout のメンバー関数を呼び出して、このプロパティの値を直接取得できます。詳細については、 DAO ヘルプ トピック 「ODBCTimeout プロパティ」を参照してください。
解説
クエリの定義はクラス CDaoQueryDefのオブジェクトです。プライマリ、セカンダリへの参照は、上のすべての情報をクラス CDaoDatabaseの GetQueryDefInfo のメンバー関数によってどのように戻るかを示します。
CDaoDatabase::GetQueryDefInfo のメンバー関数によって取得された情報は CDaoQueryDefInfo の構造体に格納されます。クエリ定義のコレクションにクエリ定義オブジェクトが格納されるデータベース オブジェクトの GetQueryDefInfo を呼び出します。CDaoQueryDefInfo は、デバッグ ビルドの Dump のメンバー関数を定義します。CDaoQueryDefInfo のオブジェクトの内容をダンプするために Dump を使用できます。クラス CDaoDatabase は、直接 CDaoQueryDefInfo のオブジェクトで返されるすべてのプロパティにアクセスするためのメンバー関数を提供するため、ほとんど GetQueryDefInfoをダイヤルする必要はありません。
クエリ定義オブジェクトのフィールドまたはパラメーター コレクションに新しいフィールドまたはパラメーター オブジェクトを追加すると、例外が基になるデータベースが新しいオブジェクトに対して指定されたデータ型をサポートしない場合にスローされます。
日付と時刻の設定は、クエリ定義が最後に更新された作成されたコンピューターから派生します。マルチユーザー環境では、ユーザーは DateCreated と LastUpdated のプロパティ設定の競合を回避 net time コマンドを使用してファイル サーバーからこれらの設定を直接取得する必要があります。
必要条件
Header: afxdao.h