- PR -

JDBCでトランザクションについて

投稿者投稿内容
victor
常連さん
会議室デビュー日: 2002/10/29
投稿数: 46
お住まい・勤務地: アスンシオン - パラグアイ
投稿日時: 2003-06-18 21:29
また質問させて頂きます。
JSP+FirebirdでWebアプリをプログラミングしてますが、ページ1でトランザクションを開始して、ページ2、ページ3でもデータを挿入し、最後にページ4でコミットまたはロールバックする事は可能ですか?。
DUKE
会議室デビュー日: 2003/03/17
投稿数: 5
投稿日時: 2003-06-18 22:06
初めまして。

java.sql.Connection.setAutoCommit(false);
で、自動コミットモードを解除して、
後から、
java.sql.Connection.commit();
コミットするなり、
java.sql.Connection.rollback();
ロールバックするなりすればいいんじゃないですかね。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2003-06-18 22:14
Webアプリでしたら、1ページから3ページまではセッションにデータを登録してあげて、4ページ目で登録を選択したら、セッション内のデータをJDBCでセットしてあげる方法はいががでしょうか。素直に考えると、4ページ目でDUKEさんの書いたような処理を行う方法がこれですかね。特殊な例で、途中まで入力したデータの入力を、後日再開するような使い方をする場合は途中状態をデータベースに記録しておくとかする必要もあるでしょうが。いかがでしょう。


[ メッセージ編集済み 編集者: 小僧 編集日時 2003-06-18 22:16 ]
victor
常連さん
会議室デビュー日: 2002/10/29
投稿数: 46
お住まい・勤務地: アスンシオン - パラグアイ
投稿日時: 2003-06-18 22:18
返事ありがとうございます。
setAutoCommit(false)で始めたトランザクションを他のページからcommitする事は可能ですか?
DUKE
会議室デビュー日: 2003/03/17
投稿数: 5
投稿日時: 2003-06-18 22:26
JSPですよね?

<jsp:useBean id="conn" scope="session" class="java.sql.Connection"/>
仕様が違うかもしれないですが、
セッション管理すれば、ページは関係ないと思います。
victor
常連さん
会議室デビュー日: 2002/10/29
投稿数: 46
お住まい・勤務地: アスンシオン - パラグアイ
投稿日時: 2003-06-18 22:29
小僧さんありがとうございます。
セッションの使い方をまだ良く理解してないので基本的な質問をしますが、セッションには保存できるデータにリミットはありますか?、もしセッションを使用した場合、40個近くのデータ(ほとんどがStringですけど)を保存しますが、パフォーマンスには影響しませんか?
DUKE
会議室デビュー日: 2003/03/17
投稿数: 5
投稿日時: 2003-06-18 22:31
引用:


<jsp:useBean id="conn" scope="session" class="java.sql.Connection"/>




失礼しました・・
<jsp:useBean id="conn" scope="session" class="java.sql.Connectionを実装クラス"/>
の間違いです・・<(_ _)>
victor
常連さん
会議室デビュー日: 2002/10/29
投稿数: 46
お住まい・勤務地: アスンシオン - パラグアイ
投稿日時: 2003-06-18 22:54
DUKEさんありがとうございます。
色々やり方はあるみたいですね、一つ一つ試してみて、一番僕にあったやり方を選びます

スキルアップ/キャリアアップ(JOB@IT)