※ ChatGPTを利用し、要約された質問です(原文:staticなフィールドをstaticじゃないメソッドで(改))
JavaからOracleへの接続で問題が発生しています
このQ&Aのポイント
JavaからOracleへの接続に問題が発生しており、キーボード入力に対する検索プログラムが正しく動作しません。
キーボードからの入力によるデータベース検索プログラムの設計に問題があり、検索結果が正しく表示されません。
フィールドの宣言やキーボード入力の読み込み方法、メソッド内での変数の使い方に問題がある可能性があります。
staticなフィールドをstaticじゃないメソッドで(改)
いつもお世話になっています。よろしくお願いします。
JavaからOracleへの接続は成功しています。
キーボードからの入力に対し、
データベースから検索し、合致するものを表示するプログラムを作成中です。
何が問題か分からないので、出来る限りのことを書きたいと思います。
ソースを短くまとめると、
Public class Sql {
private static String nr; //キーボード入力を受ける
private static Statement stmt;
public static void main(String args[]) {
Sql banana = new Sql(); // インスタンス生成
BufferedReader nrnr = new BufferedReader(new InputStreamReader(System.in));
nr = nrnr.readLine();
banana.kensaku(); // 検索メソッドの呼び出しです。
}
private void kensaku() {
ResultSet rset = stmt.executeQuery("select * from empjv where nama_kana like 'nr%'");
}
}
ソースを書くと長くなりますが、問題部分が分からないので、申し訳ありません。
キーボード入力をnrに受けているのですが、
メソッドでまったく検索して来ません。
ためしに、'nr%'→'ヤマ%'と書いてコンパイル、実行してみると、
ヤマウチ
ヤマムラ
ヤマモト
などなどデータベースから合致するものを表示して来ます。
それで、問題はnrにあると思ったのですが。
フィールドの宣言が悪いのか、キーボードからの読み込みが悪いのか、
メソッド内での使い方が悪いのか。。。
さっぱり分からなくて困っています。
どうか、よろしくお願いします。
お礼
うわーーーー!出来ました!!!! 上のlogger_manさんのアイデアの通りにすると、出来ました! 助かりました!ありがとうございました!!!!!!