- - PR -
同じ結果を返すResultsetなのに変更可否が分かれるのは何故?
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-01-30 09:03
どうも返事が遅れました。皆さん、症状のご確認ありがとうございます。
当方はJavaにつきましてはbuild 1.4.2_10-b03を利用しています。 ただPostgreSQLについても、8.1.1ですからそんなに古いワケじゃないですし、流石に2年前のパグは吸収されているはずだと思うのですが... で、「PSQLException: No primary key found for table t_user,.」のエラーですが、実はこのテーブルにはちゃんとPrimary Keyを設定しています。なのに、このエラーなのです。処理としてはユーザ情報を元に権限名を拾ってくるだけ(一方はユーザ情報、一方は権限コードを収めたマスターテーブルです。)なのですが、読み込んだと同時にユーザ情報テーブルに書き込みたい内容があったので Statement st = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE); としています。 データそのものが取れないわけではなく、データは取れるが方や更新できず、方や更新できる違いは何故なのか?と思ったからです。正直申しまして、今まで前者のような記述を主にしており未だANSI標準な書き方に慣れておらず、できれば今まで通りの記述方法で通したいと思っています。 |
|
投稿日時: 2006-01-31 11:28
もしかして、ですが・・・
Selectができないのではなく、 Selectによって取得したResultSetのupdateXXX( updateString,やupdateDate )メソッドで エラーになりません? ResultSetのupdateStringメソッドでなら、再現できたんですが。 |
|
投稿日時: 2006-01-31 14:00
はい、正しくその通りです。どうも不明瞭な質問の仕方で申し訳ありませんが、夏椰|。σ)o様の仰るように、updateRow()の時点でcatch()されます。
夏椰|。σ)o様には何か心当たりがございますでしょうか? |