dポイントプレゼントキャンペーン実施中!

はじめまして。
javaを始めたばかりの初心者です。
SQLの結果件数の取得で悩んでいます。

Update件数の取得は出来るのですが
DELETE件数の取得が出来ないのです。

作業環境は
  postgreSQL 7.2.1 
  JAVA 1.3.1_04
            です。

++++ソース抜粋++++

stmt.executeUpdate(Updateクエリ);
//今回のアップデート完了件数
int upd_cnt = stmt.getUpdateCount();

  ↑きちんと取得できます。

stmt.executeUpdate(DELETEクエリ);
//今回のデリート完了件数
int del_cnt = stmt.getUpdateCount();

  ↑なぜか1件になってしまいます。

どなたかご助言ください。
よろしくお願いいたします。

A 回答 (2件)

戻り値は行数ではなくカーソルの位置だからではないでしょうか?


INSERTの場合は最後の行に追加されるのでカーソルは最後の行に移り
その最後の行数を返しますが、DELETEの場合処理する行は消失しますから
単に先頭に行が移動して1が返るのではないでしょうか?
    • good
    • 0
この回答へのお礼

covachanさんご回答ありがとうございました。
参考URL拝見いたしました。
私の中にカーソルという概念が無かったので
とても勉強になりました。
バージョン変更等出来ない都合があるので
別の方法を考えようと思います。
わかりやすい即レス、本当にありがとうございました。

お礼日時:2002/11/29 10:26

すみません。


あまりに自身がないので調べてみました。
私の英語理解力が足りているならば、どうやらバグのようです。
参考URLをご覧になっていただければわかると思います。
もし、7.0.2以降のJDBCドライバがあれば試してみればどうでしょうか?

参考URL:http://www.mit.edu/afs/net/project/postgres/7.0. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!