我制作了一个组合框,其中填满了数据库条目。我目前面临的问题是,当我写“H”时,列表会根据需要填充以“H”开头的所有名称,但会自动选择列表中的第一个名称。如何避免这个问题?
String ch = text.getText();
if (ch.equals("")) {
combo.setVisible(false);
} else {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection connect = DriverManager.getConnection("jdbc:mysql://localhost:3306/userlogin", "root","12345");
Statement st = connect.createStatement();
ResultSet rs = st.executeQuery("SELECT author_name FROM scrpd_authors WHERE author_name LIKE '"+ ch + "%'");
while (rs.next()) {
String name = rs.getString("author_name");
if (name.equals("")) {
searchitems.addItem("");
} else {
searchitems.addItem(rs.getString("author_name"));
searchitems.setVisible(true);
}
}
connect.close();
} catch (Exception ex) {
}
}
请注意,组合框正在填充基于 mysql 查询的所有我想要的条目,问题只是选择了第一个条目本身。