Freigeben über


CDaoDatabase::Execute

Rufen Sie die Memberfunktion auf, um eine Aktionsabfrage auszuführen oder eine SQL-Anweisung auf der Datenbank auszuführen.

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

Parameter

  • lpszSQL
    Zeiger auf eine auf NULL endende Zeichenfolge, die einen gültigen SQL-Befehl enthält auszuführen.

  • nOptions
    Eine ganze Zahl, die Optionen in Bezug auf die Integrität der Abfrage angibt.Sie können den bitweisen Operator OR verwenden (|) keines der folgenden Konstanten kombinieren (bereitgestellt der Kombination sinnvoll ist - beispielsweise würden Sie dbInconsistent nicht mit dbConsistent) kombinieren:

    • dbDenyWrite verweigern anderen Benutzern Schreibzugriff möglich.

    • ( Standard) inkonsistente Updates dbInconsistent.

    • konsistente Updates dbConsistent.

    • dbSQLPassThrough SQL Pass-Through.Bewirkt die SQL-Anweisung, einer ODBC-Datenquelle zur Verarbeitung übergeben werden.

    • dbFailOnError setzen Updates zurück, wenn ein Fehler auftritt.

    • dbSeeChanges generieren einen Laufzeitfehler, wenn ein anderer Benutzer Daten ändern, die Sie bearbeiten.

HinweisHinweis

Wenn dbInconsistent und dbConsistent enthalten sind, oder wenn kein enthalten ist, ist das Ergebnis der Standard.Eine Erläuterung dieser Konstanten, finden Sie im Thema ", "Methode" in der DAO-Hilfe auszuführen.

Hinweise

Execute funktioniert nur für Aktionsabfragen oder SQL Pass-Through-Abfragen, die keine Ergebnisse zurückgeben.Sie funktioniert nicht für ausgewählte Abfragen, die Datensätze zurückgeben.

So fügen Sie einer Definition und einer Informationen zu Aktionsabfragen, finden Sie in den Themen "Aktions-Abfrage" und "Methode" in der DAO-Hilfe auszuführen.

TippTipp

Eine syntaktisch richtige SQL-Anweisung und richtigen Berechtigungen für, schlägt die Execute-Memberfunktion nicht aus, wenn keine einzelne Zeile geändert oder gelöscht werden kann.Daher, sollten Sie immer die dbFailOnError Option, wenn Sie die Execute-Memberfunktion, eine Update- oder Löschungsabfrage auszuführen.Diese Option veranlasst MFC, eine Ausnahme des Typs CDaoException auszulösen und macht alle erfolgreichen Änderungen ggf. der betroffenen Datensätze werden gesperrt und können nicht aktualisiert oder gelöscht werden zurück.Beachten Sie, dass Sie GetRecordsAffected immer aufrufen können, um festzustellen, wie viele Datensätze betroffen waren.

Rufen Sie die GetRecordsAffected-Memberfunktion des Datenbankobjekts auf, um die Anzahl von Datensätzen zu bestimmen, die durch den letzten Aufruf Execute beeinflusst werden.Beispielsweise gibt GetRecordsAffected Informationen zur Anzahl der Datensätze zurück, die beim gelöscht werden, sind aktualisiert oder eingefügt sind, einer Aktionsabfrage ausgeführt wird.Die zurückgegebene Anzahl spiegelt keine Änderungen in verknüpften Tabellen, wenn Aktualisierungs- oder Löschvorgänge wirksam sind.

Execute gibt kein Recordset zurück.Verwenden Execute für eine Abfrage, die Datensatzursachen MFC auswählt, um eine Ausnahme des Typs CDaoException auszulösen.(Es gibt keine ExecuteSQL-Memberfunktion, die CDatabase::ExecuteSQL analog ist).

Anforderungen

Header: afxdao.h

Siehe auch

Referenz

CDaoDatabase-Klasse

Hierarchien-Diagramm