|
VAccess
Transaction 関数は、アプリケーション内での Pervasive PSQL トランザクション処理を制御します。Pervasive PSQL トランザクションを開始、終了、中止する場合に使用できます。
Transaction メソッドの構文は次のような要素で構成されます。
トランザクション処理は Pervasive PSQL レコード マネージャーのデータ整合性機能です。その目的は、さまざまなテーブルに関連する一連の更新作業において、すべての更新を正常に実行するか、またはすべての更新をロール バックして、参照整合性を確実に保つことです。
Transaction メソッドでサポートされる操作は次のとおりです。ここに挙げられていないオペレーション コードに対してはステータス コード 1、無効なオペレーションが返されます。
定数宣言は、GLOBAL.BAS ファイル(16 ビット Visual Basic の場合)、GLOBAL.BAS ファイル(Visual Basic の場合)、GLOBAL.PAS ファイル(Delphi の場合)および GLOBAL.H ファイル(Visual C++ の場合)に含まれます。アプリケーションで Transaction 定数を使用するには、これらのファイルのうち 1 つ、開発環境に適したファイルをプロジェクトに含めます。
'並行トランザクションを開始する status% = Customers.Transaction(BTO_BeginTransaction + 1000) If status% = 0 Then 'BeginTransaction は正常終了 '注文レコードを追加する status% = status% + Orders.Insert '請求レコードを追加する status% = status% + Invoices.Insert '顧客レコードを取得して修正する Customers.IndexNumber = 1 '顧客 ID Customers.FieldValue("custID") = _ Invoices.FieldValue("custID") status% = status% + Customers.GetEqual Customers.FieldValue("lastInvoiceDate") = _ Invoices.FieldValue("InvoiceDate") balance = Customers.FieldValue("balance") + _ Invoice.FieldValue("amount") Customers.FieldValue("balance") = balance status% = status% + Customers.Update End If If status% = 0 Then 'すべての変更が正常に終了。トランザクションをコミットする。 Customers.Transaction(BTO_EndTransaction) Else '1 つまたは複数の挿入に失敗。トランザクションを中止する。 Customers.Transaction(BTO_AbortTransaction) End If
|