無限ループの終わりに ms access データベースへの接続を適切に閉じる他の方法はありますか? レコードがテーブルに挿入された場合、以下のコードでは、挿入された新しい行が表示されないためです。データベースが正常に閉じていないように見えます...なぜこのように動作しているのかわかりません。データベースを手動で閉じたり開いたりすると (バックグラウンドでプログラムを実行したまま)、すべて問題ありません。新しい行がクエリに表示されます。
import java.rmi.RemoteException;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class Main {
public static void main(String[] args) throws RemoteException,
InterruptedException, SQLException {
while (true) {
Connection con = DBConnection.getDBConnection();
System.out.println("Connection OK!");
Statement s = null;
try {
ResultSet rs = null;
con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
con.setAutoCommit(true);
rs = s.executeQuery("SELECT Tel, Msg, Procesat FROM RcvMsg WHERE Procesat = 'NOK'");
while (rs.next())
{
String pn = rs.getString(1);
String str = rs.getString(2);
//do something
}
rs.close();
} catch (SQLException e) {
e.printStackTrace();
} finally {
s.close();
con.close();
}
Thread.sleep(5000);
}
}
}