Я пытаюсь найти базу данных, используя имена столбцов из String на основе ComboBox, которые выбрал пользователь, и я назначаю строку, основанную на том, что пользователь выбрал, и когда я ввел оператор SQL String имеет значение NULL. Пожалуйста, помогите поблагодарить вас! Вот мой код:Настройка JAVA Строка на основе значения ComboBox
String[] searchOptions={"ID","First Name","Middle Name","Last Name","Gender","Date of Birth","Nationality","Contact number"};
JComboBox comboBoxOption = new JComboBox(searchOptions);
textFieldSearch = new JTextField();
textFieldSearch.addKeyListener(new KeyAdapter() {
public void keyReleased(KeyEvent arg0) {
try
String selected = (String)comboBoxOption.getSelectedItem();
if(selected.equals("ID"))
{
String optionSearch="guest_id";
System.out.println("baby");
}else if(selected.equals("First Name"))
{
String optionSearch="guest_fname";
}else if(selected.equals("Middle Name"))
{
String optionSearch="guest_mname";
}else if(selected.equals("Last Name"))
{
String optionSearch="guest_lname";
}else if(selected.equals("Gender"))
{
String optionSearch="guest_gender";
}else if(selected.equals("Date of Birth"))
{
String optionSearch="guest_dob";
}else if(selected.equals("Nationality"))
{
String optionSearch="guest_nationality";
System.out.println(optionSearch);
}else if(selected.equals("Contact number"))
{
String optionSearch="guest_contact";
}else
{
String optionSearch=" ";
}
String query="Select * from guest_tbl where '"+optionSearch+"' =? ";
PreparedStatement pst = conn.prepareStatement(query);
pst.setString(1, textFieldSearch.getText());
ResultSet rs =pst.executeQuery();
tableGuest.setModel(DbUtils.resultSetToTableModel(rs));
Я пробовал эту систему System.out.println (query); и это то, что он печатает «Select * from guest_tbl где« null »=?» –
Программа будет компилировать bcz, который вы пишете запрос в кавычках, и вы определяете переменную optionSearch внутри блога if, следовательно, она равна нулю. Определите приведенную выше переменную и еще раз проверьте – Geek
СПАСИБО! Я объявляю новый String optionSearch для каждого оператора if haha –