Я создаю программу, чтобы включить мое резюме, поскольку я студент колледжа, у которого нет опыта работы. Для этой части программы я хочу разрешить пользователю выполнять поиск в базе данных sqlite для сотрудника по номеру идентификатора, имени или фамилии. Он работает правильно, однако, он будет показывать только работника с именем, которое написано точно, и закрывает чувствительность. Я хочу, чтобы пользователь мог ввести одну букву или более, и он отобразит все в базе данных, содержащей эту букву или пару букв, и так далее.SQLITE FILTER QUERY ПОИСК
Это то, что у меня есть:
try {
String field = (String)fieldCombo.getSelectedItem();//gets jcombobox selection
//jcombobox fields are slightly different than the column names in sql table so i did this
if(field.equals("First Name")) {
newField = "firstName";
}
else if(field.equals("Last Name")) {
newField = "lastName";
}
else if(field.equals("ID Num")) {
newField = "idNum";
}
String sql = "select idNum as 'ID Number', firstName as 'First Name', lastName as 'Last Name' from tableEMPLOYEE where " + newField + " = ?";
pst = connect.prepareStatement(sql);
pst.setString(1, searchField.getText());
rs = pst.executeQuery();
empTable.setModel(DbUtils.resultSetToTableModel(rs));
}
catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
Посмотрите в использовании 'оператора LIKE'. Но 'LIKE' не может быть серебряной пулей за то, что вы пытаетесь сделать. –
Большое спасибо @Tim Biegeleisen. –