CDaoDatabase::Execute
呼叫此成員函式以執行動作查詢或對資料庫執行的 SQL 陳述式。
void Execute(
LPCTSTR lpszSQL,
int nOptions = dbFailOnError
);
參數
lpszSQL
out 包含有效的 SQL 命令的 NULL 結尾字串的指標來執行。nOptions
指定選取的完整性與查詢相關的整數。 您可以使用位元 OR 運算子 ( |) 結合下列常數之一 (提供這個組合不合理。例如,您不會結合 dbInconsistent 與 dbConsistent):dbDenyWrite 拒絕寫入權限的其他使用者。
dbInconsistent (預設) 不一致的更新。
dbConsistent 一致的更新。
dbSQLPassThrough SQL 傳遞。 讓 SQL 陳述式傳遞至處理的 ODBC 資料來源。
如果發生錯誤,dbFailOnError 復原更新。
dbSeeChanges 產生執行階段錯誤,其他使用者變更所編輯的資料。
注意事項 |
---|
如果 dbInconsistent 和 dbConsistent 都包含在內,或者兩者都不是包含的,則結果會是預設值。如需這些常數的說明,請參閱本主題<執行方法」DAO 說明。 |
備註
執行 動作不會傳回結果的查詢或 SQL Pass-Through Query) 才有作用。 它不指定 SELECT 查詢的運作方式,傳回資料錄。
如需定義與相關的動作查詢,請參閱<動作查詢」和「執行方法」DAO 說明。
提示
假設有一個語法正確的 SQL 陳述式和適當的使用權限, 執行 成員函式不會失敗,即使可以修改不是單行或刪除。因此,使用時, 執行 成員函式來執行更新或刪除查詢時,請一律使用 dbFailOnError 選項。如果受影響的任何一筆資料錄鎖定的而且無法更新或刪除,選項會讓 MFC 會擲回型別的例外狀況 CDaoException 並復原所有成功的變更。請注意您可以一律呼叫 GetRecordsAffected 看見多少筆資料錄受到影響。
呼叫資料庫物件的 GetRecordsAffected 成員函式來判斷最近 執行 呼叫所影響的資料錄數目。 例如, GetRecordsAffected 何時傳回有關刪除,更新或插入資料錄的資訊來執行查詢。 傳回的計數可能不會反映在關聯資料表的變更,當串聯更新或刪除作用中。
執行 未傳回資料錄集。 在中選取資料錄原因 MFC 會擲回型別的例外狀況 CDaoException查詢的 執行 。 (沒有 ExecuteSQL 成員函式類似 CDatabase::ExecuteSQL)。
需求
Header: afxdao.h