すでにエントリが含まれているMySQLテーブルがあり、Javaプログラムに接続しているので、プログラムが実行されるたびにテーブル値が表示されます。基本的に、ユーザーが任意の属性の値を入力できる検索フィールドを実装しようとしています。その値に一致するすべてのエントリがテーブルに読み込まれます。次に、ユーザーは一致する適切なエントリを選択できるようになり、そのエントリの情報を編集または更新できます。これは、名前、名前、郵便番号など、同じ値のエントリがある場合に特に役立ちます。
try {
String sql = "SELECT * FROM donors WHERE donor_id = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, txtSearch1.getText());
rs = ps.executeQuery();
tblDonors.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
try {
String sql = "SELECT * FROM donors WHERE first_name = ?";
ps = conn.prepareStatement(sql);
ps.setString(1, txtSearch1.getText());
rs = ps.executeQuery();
tblDonors.setModel(DbUtils.resultSetToTableModel(rs));
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
検索フィールドは2番目のクエリのみを検索し、最初のクエリは検索しないため、名前を入力すると、一致する名前がテーブルに読み込まれますが、ID番号を入力しようとしても何も起こりません。私はこれにかなり慣れていませんが、結果セットオブジェクトと関係があると思いますか?しかし、正確にはわかりません。どんな助けでも素晴らしいでしょう。