CDaoDatabase::Execute

呼叫此成員函式以執行動作查詢或對資料庫執行的 SQL 陳述式。

void Execute( 
   LPCTSTR lpszSQL, 
   int nOptions = dbFailOnError  
);

參數

  • lpszSQL
    out 包含有效的 SQL 命令的 NULL 結尾字串的指標來執行。

  • nOptions
    指定選取的完整性與查詢相關的整數。您可以使用位元 OR 運算子 (|) 結合下列常數之一 (提供這個組合不合理。例如,您不會結合 dbInconsistentdbConsistent):

    • dbDenyWrite 拒絕寫入權限的其他使用者。

    • dbInconsistent (預設) 不一致的更新。

    • dbConsistent 一致的更新。

    • dbSQLPassThrough SQL 傳遞。讓 SQL 陳述式傳遞至處理的 ODBC 資料來源。

    • 如果發生錯誤,dbFailOnError 復原更新。

    • dbSeeChanges 產生執行階段錯誤,其他使用者變更所編輯的資料。

注意事項注意事項

如果 dbInconsistentdbConsistent 都包含在內,或者兩者都不是包含的,則結果會是預設值。如需這些常數的說明,請參閱本主題<執行方法」DAO 說明。

備註

執行 動作不會傳回結果的查詢或 SQL Pass-Through Query) 才有作用。它不指定 SELECT 查詢的運作方式,傳回資料錄。

如需定義與相關的動作查詢,請參閱<動作查詢」和「執行方法」DAO 說明。

提示提示

假設有一個語法正確的 SQL 陳述式和適當的使用權限, 執行 成員函式不會失敗,即使可以修改不是單行或刪除。因此,使用時, 執行 成員函式來執行更新或刪除查詢時,請一律使用 dbFailOnError 選項。如果受影響的任何一筆資料錄鎖定的而且無法更新或刪除,選項會讓 MFC 會擲回型別的例外狀況 CDaoException 並復原所有成功的變更。請注意您可以一律呼叫 GetRecordsAffected 看見多少筆資料錄受到影響。

呼叫資料庫物件的 GetRecordsAffected 成員函式來判斷最近 執行 呼叫所影響的資料錄數目。例如, GetRecordsAffected 何時傳回有關刪除,更新或插入資料錄的資訊來執行查詢。傳回的計數可能不會反映在關聯資料表的變更,當串聯更新或刪除作用中。

執行 未傳回資料錄集。在中選取資料錄原因 MFC 會擲回型別的例外狀況 CDaoException查詢的 執行 。(沒有 ExecuteSQL 成員函式類似 CDatabase::ExecuteSQL)。

需求

Header: afxdao.h

請參閱

參考

CDaoDatabase 類別

階層架構圖