CDatabase::BeginTrans

BOOL BeginTrans ( );

Rückgabewert

Ungleich NULL, wenn der Aufruf erfolgreich war und die Änderungen verpflichtet nur manuell sind; andernfalls 0.

Bemerkungen

Rufen Sie diese Memberfunktion um eine Transaktion mit der verbundenen Datenquelle zu beginnen. Eine Transaktion besteht aus einem oder mehreren Aufrufen an die Memberfunktionen AddNew, Bearbeiten, Löschenund Aktualisieren eines CRecordset -Objekts. Vor dem Beginn einer Transaktion, muss das CDatabase -Objekt bereits mit der Datenquelle verbunden sind durch seine OpenEx oder Öffnen -Memberfunktion aufrufen. Um die Transaktion zu beenden, rufen Sie CommitTrans annehmen aller Änderungen an der Datenquelle (und sie) oder rufen Sie Rollback für die gesamte Transaktion abgebrochen. Aufruf BeginTrans nachdem Sie alle Recordsets Öffnen der Transaktion beteiligt und wie nah an der tatsächlichen Aktualisierungsvorgänge wie möglich.

Vorsicht&Nbsp;  Abhängig von der ODBC-Treiber verursachen öffnen eine Recordset vor dem Aufrufen von BeginTrans Probleme beim Rollbackaufrufen. Prüfen Sie den Treiber, die, den Sie verwenden. Beispielsweise müssen bei Verwendung den Microsoft Access-Treiber in Microsoft ODBC Desktop Driver Pack 3.0 enthalten Sie das Jet-Datenbankmodul Anforderungen berücksichtigen, dass Sie nicht in jeder Datenbank eine Transaktion beginnen soll, die einen geöffneten Cursor hat. In den MFC-Datenbankklassen bedeutet ein geöffneten Cursor ein CRecordset -Objekt öffnen. Weitere Informationen finden Sie unter technischer Hinweis 68.

BeginTrans kann auch auf dem Server, abhängig von der angeforderten Parallelität und die Fähigkeiten der Datenquelle Datensätze sperren. Informationen zum Sperren von Daten finden Sie im Artikel Recordset: Sperren von Datensätzen (ODBC) im Visual C++ Programmer's Guide.

Benutzerdefinierte Transaktionen werden im Artikel erklärt Transaktion (ODBC) im Visual C++ Programmer's Guide.

BeginTrans legt den Staat, der die Reihenfolge der Transaktionen kann Rollback (rückgängig gemacht). Um einen neuen Status für Rollbacks herzustellen, begehen Sie alle aktuellen Transaktionen zu, dann rufen Sie BeginTrans erneut.

! Warnung&Nbsp;  Erneutes Aufrufen von BeginTrans ohne CommitTrans oder Rollback aufzurufen, ist ein Fehler.

Rufen Sie die CanTransact -Memberfunktion um festzustellen, ob der Treiber für eine bestimmte Datenbank Transaktionen unterstützt. Sie sollten auch GetCursorCommitBehavior und GetCursorRollbackBehavior , um zu bestimmen, die Unterstützung für die Erhaltung der Cursor aufrufen.

Weitere Informationen über Transaktionen finden Sie im Artikel Transaktion (ODBC) im Visual C++ Programmer's Guide.

Beispiel

Finden Sie im Artikel Transaktion: Ausführen einer Transaktion in einem Recordset (ODBC) im Visual C++ Programmer's Guide.

Übersicht über die CDatabase -|  Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CDatabase::CommitTrans, CDatabase::Rollback, CRecordset::CanTransact

Index