※ ChatGPTを利用し、要約された質問です(原文:DBへ問合せた後の処理について。)
DBへ問合せた後の処理について
このQ&Aのポイント
btn1を押すとDBへ問合せ、データが有る場合はbtn2が使えるようになり、データがない場合はbtn3が使えるようになる、という風にしたいのですが、コンパイル時にシンボルがありません。
変数tが宣言されていないため、コンパイル時にシンボルがないというエラーが出ます。
データベースへの問い合わせ後に変数tを宣言し、それに応じてbtn2とbtn3の有効化を行う方法を探しています。
btn2.setEnabled(false);
btn3.setEnabled(false);
btn1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{
String drv = "org.postgresql.Driver";
String url = "jdbc:postgresql:postgres";
String usr = "postgres";
Class.forName(drv);
Connection cn = DriverManager.getConnection(url, usr);
Statement st = cn.createStatement();
String qry1 = "SELECT * FROM getuji WHERE 年度 = '1984';";
ResultSet rs = st.executeQuery ( qry1 );
while(rs.next()){
int t = rs.getInt("年度");
}
st.close();
cn.close();
}
catch(Exception f){f.printStackTrace();}
if (t != 0 ){
btn2.setEnabled(true);
}
else{
btn3.setEnabled(true);
}
}
});
btn1を押すとDBへ問合せ、データが有る場合はbtn2が使えるようになり、データがない場合はbtn3が使えるようになる、という風にしたいのですが、コンパイル時に
シンボルがありません。
変数 t
if (t != 0 ){
とエラーた出てしまいます。何かよい方法はないでしょうか?上記以外のやり方でもけっこうですので教えてください。
お礼
なるほど、変数を定義する場所がまずかったのですね・・・ ありがとうございました!!