Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

バインド変数とトランザクション

いつもお世話になります。

題名の通り、JDBCにおいてのバインド変数とトランザクションについて質問させていただきます。

型とかは略していますが、コードは以下の感じです。

conn = DriverManager.getConnection(db_url, prop)
conn.setAutoCommit(false);
sql="DELETE FROM a WHERE id= ?";
pStmt = conn.prepareStatement(sql);
pStmt.setString("1");
pStmt.addBatch();
pStmt.setString("2");
pStmt.addBatch(); 
pStmt.setString("3");
pStmt.addBatch(); 
result[]=statement.executeBatch(); 

こんな感じで複数のSQL文をまとめて実行できることを分かりますが、違う更新系のSQL文を一つのトランザクションで実行したい場合はどうすればいいでしょうか?

pStmt.addBatch(sql)で()の中に違うsqlを書けばできますが、そうすると、バインド変数を使えないですね?

アドバイスをお願いします。
よろしくお願いします。 




1

回答

5952

閲覧

1件の回答

評価

0

ごめんなさい。
本人の勘違いで、ちゃんとトランザクションの制御ができています。
このスレを閉じます。御騒ぎしてしまって申し訳ございませんでした。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。