CDaoDatabase::Execute
Wywołanie tej funkcji Członkowskich uruchamianie kwerendy funkcjonalnej lub wykonać instrukcję SQL w bazie danych.
void Execute(
LPCTSTR lpszSQL,
int nOptions = dbFailOnError
);
Parametry
lpszSQL
Wskaźnik, aby ciąg zakończony znakiem null, zawierający prawidłowe polecenie SQL do wykonania.nOptions
Liczba całkowita, która określa opcje odnoszące się do integralności kwerendy.Można użyć operatora logiczną lub)|) połączyć następujących stałych (pod warunkiem, że kombinacja sens — na przykład, nie byłoby łączone dbInconsistent z dbConsistent):dbDenyWrite odmowy zapisu do innych użytkowników.
dbInconsistent niespójne aktualizacje (domyślnie).
dbConsistent aktualizacje zgodne.
dbSQLPassThrough przekazująca SQL.Powoduje, że instrukcja SQL przekazywane do źródła danych ODBC do przetworzenia.
dbFailOnError cofnąć aktualizacje, jeśli wystąpi błąd.
dbSeeChanges wygenerować błąd w czasie wykonywania, jeśli inny użytkownik zmienia edycji danych.
[!UWAGA]
Jeśli oba dbInconsistent i dbConsistent są włączone lub jeśli żadna nie jest włączone, wynik jest domyślnie.Wyjaśnienie tych stałych w temacie "Wykonywanie metody" w pomocy DAO.
Uwagi
Wykonanie działa tylko w przypadku kwerend akcji lub kwerendy przekazujące SQL, które nie zwracają wyników.Nie działa dla kwerend wybierających, które zwraca rekordy.
Definicja i informacji na temat kwerend funkcjonalnych zobacz tematy "Kwerendy funkcjonalnej" i "Metoda wykonania" w pomocy DAO.
Porada |
---|
Poprawne syntaktycznie instrukcji SQL i odpowiednie uprawnienia, Execute Członkowskich funkcja nie powiedzie się nawet jeśli nie pojedynczego wiersza można zmodyfikowane lub usunięte.Dlatego należy zawsze używać dbFailOnError opcji podczas korzystania z Execute funkcji składowej, zaktualizować lub usunąć kwerendy.Ta opcja powoduje MFC zgłaszanie wyjątku typu CDaoException i wycofuje wszystkie zmiany pomyślne, jeśli żadnych rekordów, których dotyczy, są zablokowane i nie może zostać zaktualizowany lub usunięty.Należy zauważyć, że zawsze można wywołać GetRecordsAffected , aby zobaczyć, ile rekordów zmienionych. |
Wywołanie GetRecordsAffected funkcji składowej obiektu bazy danych, aby określić liczbę rekordów dotkniętych najnowsze Execute wywołania.Na przykład GetRecordsAffected zwraca informacje o liczbę rekordów, usunięte, aktualizowany lub umieszczany podczas wykonywania kwerendy funkcjonalnej.Liczba zwracana nie będzie odzwierciedlał zmiany w tabelach pokrewnych kaskadowo aktualizuje lub usuwa obowiązują.
Wykonanie nie zwraca zestaw rekordów.Za pomocą Execute na kwerendy wybierające rekordy powoduje MFC zgłaszanie wyjątku typu CDaoException.(Jest nie ExecuteSQL Członkowskich funkcji analogiczne do CDatabase::ExecuteSQL.)
Wymagania
Nagłówek: afxdao.h