为什么我的代码没有从数据库中检索值?

时间:2019-04-09 11:31:49

标签: java sql

我已经创建了一个用户类,并与我的数据库建立了连接,但是由于其中包含我的私人详细信息,因此对其进行了编辑。

  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

1 个答案:

答案 0 :(得分:4)

您不是:

  • 使用PreparedStatement
  • 使用查询创建PreparedStatement
  • 设置查询参数
  • 正确使用LIKE运算符

我建议您看看JDBC APIPreparedStatement example

相关问题