我有一个 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);
}
搜索字段只搜索第二个查询,而不是第一个,所以我可以输入一个名称,匹配的名称将加载到表中,但是当我尝试输入一个 ID 号时,什么也没有发生。我对此很陌生,但我认为这与我的结果集对象有关?虽然不完全确定。任何帮助都会很棒。