お世話になっています。
現在、postgresqlに接続し、指定のデータがなければ、dbを切断し、
切断中に、dbに接続されたら、エラーを発生させるようなプログラムを作成しています。
その際、org.postgresql.util.PSQLException: This ResultSet is closed.のようなエラーが発生します。
原因として、ResultSetにあるというのはわかるのですが、
ソースは、以下のように組んでいます。
static Connection con = null;
static Statement stmt = null;
static ResultSet rs ;;
try {
Class.forName("org.postgresql.Driver"); // PostgreSQLの場合
con = DriverManager.getConnection
("jdbc:postgresql:sample","moon","post");
// ステートメントオブジェクトを生成
stmt = con.createStatement();
String sql =
" select id,pw from login where id='test' and pw='a'";
System.out.println(sql);
// クエリーを実行して結果セットを取得
rs = stmt.executeQuery(sql);
boolean ba = rs.next();
//もし、idがなければ、dbを閉じる
if(ba == false) {
System.out.println("rs:"+rs.next());
stmt.close();
con.close();
rs.close();
} catch (SQLException e) {
} catch (ClassNotFoundException c) {
} catch(Exception es) {
} finally { }
//この時点で、指定のid,pwが存在していないので、dbは切断中
//この状態でdbにアクセスする
String sql = " select * from login";
// クエリーを実行して結果セットを取得
try {
// ここから
if(con !=null && stmt != null && rs !=null) {
while(rs.next()) {
System.out.println(rs.getString("id"));
}
}//ここまでが、何かがおかしい
else {}
} catch (SQLException e) {}
この場合、どこが間違っているのでしょうか?
宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ソース自体に色々かなり相当疑問がありますが、
ひとまずba == falseが通ったあとに、rs.next()やったら例外は起きそうですね。面倒なので試してません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- Ruby pandasでsqlite3にテーブル作成・追加・読み出しでindexの取り扱い方教えてください 5 2023/03/08 09:57
- PHP PHP MySql ページング 2 2022/09/20 06:38
- PostgreSQL DBFluteについて質問です。 環境:PostgreSQL java8 前提:webアプリケーショ 1 2022/07/07 00:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
BOOL値を逆にしたい
-
getStringの値がNULLの時の処理
-
eclipseでoracle接続時のエラー...
-
Java配列でNullPointerExceptio...
-
C# ListBoxのインデックスの値...
-
HashMapがおかしい
-
逆コンパイルの見方について(...
-
逆コンパイルの見方について(...
-
postgresql接続時
-
配列にnullを代入すると、null...
-
Javascriptで二つ以上の命令
-
C言語のポインターに関する警告
-
ループ処理の際、最後だけ","を...
-
[JAVA]try 内の変数を外で!?
-
JSPやサーブレットでSystem.out...
-
VBAで配列の計算
-
javaで質問です。 文字列2023/2...
-
ダブルクォーテーションのrepla...
-
Path型をString型へ変換する(Java)
-
System.err. printlnとSystem.o...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ORA-01858: 数値を指定する箇所...
-
配列にnullを代入すると、null...
-
Java配列でNullPointerExceptio...
-
BOOL値を逆にしたい
-
getStringの値がNULLの時の処理
-
C# ListBoxのインデックスの値...
-
eclipseでoracle接続時のエラー...
-
例外でBeanUtils.populateが、...
-
jsp/Servletの動的に増えるフォ...
-
Stringを返す getText()メソッ...
-
gas カレンダー祭日設定でエラー
-
JSPでの画面表示の方法
-
空欄のテキストフィールドの判...
-
C#でラジオボタンとコンボボッ...
-
JSPで複数のSQL実行につ...
-
逆コンパイルの見方について(...
-
Safari ダウンロード時に日本語...
-
java DAO 日付指定フォーマット...
-
oracle10g java jdbc 大量inser...
-
MySQLのテーブル名を変数に置い...
おすすめ情報