我有一个方法可以从我的数据库中返回搜索结果的数组列表。
而不是:
Select *
from employee
where first_name like ?
我宁愿使用:
Select *
from employee
where ? like ?
但我不确定这是否可行?我在eclipse中编译它时没有错误,但它一直给我数组中的空白值。我有什么不对的吗?
这是一个方法,它给我一个空白值,当我在first_name喜欢的地方时它工作正常吗?所以我知道逻辑是有效的。
public static ArrayList<String> AdvanceSearchFirstName(String selected, String searchTerm) {
String selectQuery = "select * from employee_info where ? like ?";
ArrayList<String> searchResults = new ArrayList<>();
try {
stmt = con.createStatement();
PreparedStatement ps = con.prepareStatement(selectQuery);
ps.setString(1, selected);
ps.setString(2, '%'+searchTerm+'%');
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String firstName = rs.getString("first_name");
String lastName = rs.getString("last_name");
String studentNumber = rs.getString("employee_number");
String combo = employeeNumber + " " + firstName + " " + lastName;
searchResults.add(combo);
}
} catch (SQLException e) {
e.printStackTrace();
}
return searchResults;
}
我查看过很多帖子,所以我很确定这个帖子还没有发布,但我很抱歉这是双重的。我是编程和sql的新手,所以任何帮助都表示赞赏。