java - 为什么我的代码不从我的数据库中检索值?
问题描述
我已经创建了一个用户类并与我的数据库建立了连接,但由于它包含我的私人详细信息而将其编辑了。
public ArrayList<User> ListUsers(String ValToSearch)
{
ArrayList<User> usersList = new ArrayList<User>();
Statement st;
ResultSet rs;
try{
Connection con = getConnection();
st = con.createStatement();
String searchQuery = "SELECT ID, room_Type, host_Name, Neighbourhood WHERE ID=? AND room_Type=? AND host_Name=? AND Neighbourhood=? ) LIKE '%"+ValToSearch+"%'";
rs = st.executeQuery(searchQuery);
User user;
while(rs.next())
{
user = new User(
rs.getInt("id"),
rs.getString("hname"),
rs.getString("rtype"),
rs.getString("area")
);
usersList.add(user);
}
}catch(Exception ex){
System.out.println(ex.getMessage());
}
return usersList;
}
// function to display data in jtable
解决方案
你不是:
- 使用 PreparedStatement
- 使用查询创建 PreparedStatement
- 为您的查询设置参数
- 正确使用
LIKE
运算符
我建议看一下JDBC API和PreparedStatement 示例。
推荐阅读
- python - 有没有一种方法可以从这个连续的周期性日期时间序列中更新月平均加权?
- apache-spark - 如何使用不同的df列更新现有列
- tensorflow - SSD mobilenet 模型无法检测到更远距离的物体
- amazon-web-services - Lambda Kinesis Stream 消费者并发问题
- machine-learning - glove 和 word2vec 之间的主要区别是什么?
- specflow - SpecFlow+ Runner 服务器:在 \packages\SpecRun.Runner.xyz\tools 中找不到“服务器”目录
- android - scrollTo 在带有 alpha 的视图后面时不起作用
- .net - vb.net直接分配属性和使用invoke方法的区别
- php - 如何连续执行我的脚本以发送邮件?
- php - 如何修复包含动态输入字段的代码?