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