CDaoQueryDefInfo 結構
CDaoQueryDefInfo結構包含 querydef 物件為資料存取物件 (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
唯一命名 querydef 物件。 如需詳細資訊,請參閱"Name"DAO 說明 》 的主題。 呼叫 CDaoQueryDef::GetName 直接擷取這個屬性。m_nType
值,指出一個 querydef 物件的作業型別。 值可以是下列其中一項:dbQSelect 選取 — 查詢在選取記錄。
dbQAction 動作,查詢會移動或變更資料,但不會傳回資料錄。
dbQCrosstab 交叉資料表 — 該查詢會以類似試算表的格式傳回資料。
dbQDelete 刪除 — 查詢中刪除一組指定的資料列。
dbQUpdate 更新,查詢會變更一組資料錄。
dbQAppend 附加,查詢會將新資料錄加入至資料表或查詢的結尾。
dbQMakeTable 製成資料表,查詢會建立新的資料表的資料錄。
dbQDDL 資料定義,查詢會影響資料表或它們的組件的結構。
dbQSQLPassThrough 通過查詢 — SQL 陳述式直接傳遞至資料庫後端,而不需中繼處理。
dbQSetOperation 等位,查詢會建立包含所有指定的記錄,在兩個資料的快照類型 recordset 物件,或更多的資料表,且其中重複的記錄中移除。 若要包含重複的項目,將關鍵字加入所有 querydef SQL 陳述式中。
dbQSPTBulk 與 dbQSQLPassThrough 來指定查詢不傳回資料錄。
注意事項 若要建立 SQL 的通過查詢,您沒有設定 dbQSQLPassThrough 常數。這是自動的設定,Microsoft Jet 資料庫引擎當您建立一個 querydef 物件,並設定 [連接] 屬性。
如需詳細資訊,請參閱 DAO 說明 》 的 「 型別屬性 」 的主題。
m_dateCreated
日期和時間建立 querydef。 若要直接擷取 querydef 建立的日期,呼叫 GetDateCreated 成員函式的CDaoTableDef與資料表相關聯的物件。 如需詳細資訊,請參閱下方的註解。 也請參閱 DAO 說明 》 的主題"DateCreated,LastUpdated 屬性"。m_dateLastUpdated
日期和時間的最新 querydef 所做的變更。 若要直接擷取資料表上次更新日期,呼叫 GetDateLastUpdated 的 querydef 成員函式。 如需詳細資訊,請參閱下方的註解。 然後,請參閱 DAO 說明 》 的主題"DateCreated,LastUpdated 屬性"。m_bUpdatable
指出是否可以變更一個 querydef 物件。 如果這個屬性是 ,則為 TRUE,querydef 是可更新。 否則,它不是。 可更新的表示 querydef 物件的查詢定義可變更。 一個 querydef 物件的可更新的屬性設定為 ,則為 TRUE 如果查詢定義可更新,即使是無法更新產生的資料錄集。 若要直接擷取這個屬性,呼叫 querydef CanUpdate 成員函式。 如需詳細資訊,請參閱 DAO 說明 》 的 「 可更新屬性 」 的主題。m_bReturnsRecords
指示 SQL 通過查詢至外部資料庫是否傳回記錄。 如果這個屬性是 ,則為 TRUE,查詢會傳回記錄。 若要直接擷取這個屬性,呼叫 CDaoQueryDef::GetReturnsRecords。 並非所有的 SQL 通過查詢至外部資料庫傳回資料錄。 例如,SQL 更新 陳述式會更新資料錄,但未傳回資料錄,而 SQL 選取陳述式不會傳回資料錄。 如需詳細資訊,請參閱 DAO 說明 》 的 「 傳回記錄] 屬性 」 的主題。m_strSQL
SQL 陳述式定義一個 querydef 物件所執行的查詢。 [SQL] 屬性包含 SQL 陳述式,以判斷如何選取記錄,群組及排序在執行查詢。 您可以使用查詢來選取要包含在動態集或快照類型資料錄集物件中的資料錄。 您也可以定義大量查詢傳回的資料錄不可以修改資料。 您可以擷取這個屬性的值直接呼叫 querydef GetSQL 成員函式。m_strConnect
提供來源資料庫的通過查詢中使用的相關資訊。 這項資訊的形式的連接字串。 如需詳細資訊,大約連接字串,並直接擷取這個屬性的值的相關資訊,請參閱 CDaoDatabase::GetConnect 成員函式。m_nODBCTimeout
ODBC 資料庫上執行查詢時,就會發生逾時錯誤之前的 Microsoft Jet 資料庫引擎會等待的秒數。 當您使用 ODBC 資料庫而言,這類的 Microsoft SQL Server,因網路流量或大量使用 ODBC 伺服器可能會延遲。 而不是無限期地等待時,您可以指定它就會產生錯誤之前 Microsoft Jet 引擎在等待的時間長度。 預設的逾時值為 60 秒。 您可以擷取這個屬性的值直接呼叫 querydef GetODBCTimeout 成員函式。 如需詳細資訊,請參閱 DAO 說明 》 的 「 odbc 逾時屬性 」 的主題。
備註
Querydef 是一種物件類別的 CDaoQueryDef。 主要、 次要和所有上述參考表示傳回的資訊如何 GetQueryDefInfo 類別中的成員函式CDaoDatabase。
所擷取的資訊 CDaoDatabase::GetQueryDefInfo 成員函式會儲存在CDaoQueryDefInfo結構。 呼叫GetQueryDefInfo的 QueryDefs 集合中預存 querydef 物件之資料庫物件。 CDaoQueryDefInfo也會定義Dump成員函式,在偵錯組建。 您可以使用Dump來傾印內容的CDaoQueryDefInfo物件。 類別CDaoDatabase也會提供成員函式來直接存取的所有屬性以傳回CDaoQueryDefInfo物件,因此您可能很少需要呼叫GetQueryDefInfo。
當您將新欄位或參數物件附加到一個 querydef 物件欄位或參數集合中時,如果基礎資料庫不支援對這個新物件的資料型別,會擲回例外狀況。
日期和時間設定被從的電腦建立或上次更新 querydef。 在多使用者環境中,使用者應該直接從檔案伺服器使用索取這些設定值 net time 命令,以避免 DateCreated 和 LastUpdated 屬性設定值的差異。
需求
標頭: afxdao.h