0

私は従業員フォームを持っています.タブ付きペインを使用して4つの異なるタブを取得しました.しかし問題は、最初のタブにデータを保存すると、データベースにのみ保存されることです. 他のタブにデータを保存する前に、フォーム全体を閉じたので、データベースには最初のタブからのエントリがあり、他のタブにはデータが保存されていません...以降のプロセスでエラーが発生します。コミットについては知っていますが、どこでどのように使用するのかわかりません???? フォームのすべてのタブからデータベースにすべてのデータを保存する必要があり、その間にフォームが閉じられた場合、データは保存されません...助けてください。

私はJavaプログラミングでそれを望みます.and各タブのデータは、最後ではなく独自のページに保存します。

4

2 に答える 2

1

最初のタブからデータを保存する前にロールバック ポイントを設定する必要があります。他のタブで問題が発生した場合は、最後のトランザクションをロールバックして変更を破棄し、データベースを以前の状態に戻すことができます。

MYSQL 用のサンプル コードを次に示します。それが役立つことを願っています。

Drop table Books;


CREATE TABLE Books
(
   ID SMALLINT NOT NULL PRIMARY KEY,
   Title VARCHAR(60) NOT NULL,
   Copyright YEAR NOT NULL
)
ENGINE=INNODB;


select * from Books;

START TRANSACTION;
INSERT INTO Books VALUES (103, 'Angels', 1966);
INSERT INTO Books VALUES (104, 'Black', 1932);

SAVEPOINT sp1;

INSERT INTO Books VALUES (105, 'None', 1996);
INSERT INTO Books VALUES (106, 'A', 1980);

ROLLBACK TO SAVEPOINT sp1;

INSERT INTO Books VALUES (107, 'Postcards', 1992);
INSERT INTO Books VALUES (108, 'The', 1993);

COMMIT;

select * from Books;
于 2012-09-20T04:46:08.850 に答える
0

データベースによっては、BEGIN ステートメントなどを発行してトランザクションを開始し、クエリを実行する必要があります。成功した場合は COMMIT などを実行し、そうでない場合は ROLLBACK を実行してクエリを元に戻します。セッション内の BEGIN の後に発生しました。

于 2012-09-20T04:42:29.117 に答える