String sql1 ="select r.role_name from bas_t_role r where  r.role_name not in ( select  r.role_name  from bas_t_role r,bas_t_user u,bas_t_user_role ur  where r.role_id=ur.Role_Id and ur.user_id=u.user_id and u.user_name="张飞")";想查询最后那个username,想要由表单获取  想要查询的username,要怎么改?

解决方案 »

  1.   

    你u.user_name="+username+")"
    那个username是在前台传递过来的参数不就可以了
      

  2.   

    其实想把这个语句结尾的username=“张飞”; 变成我在表单用户名查询处: 输入我想查询的用户名,然户servlet读取到该值,并赋给该语句组成 一个可执行的SQl,再执行。 
    我想可以用占位符(?)代替。然后用拼接方式,但是这个语句,我不知道要怎么改~!!!!!
      

  3.   

    前台写个控件 username
    后面 用request.getParameter 或者 form.getXXX楼主说的是这个?
      

  4.   


    String sql1 ="select r.role_name from bas_t_role r where  r.role_name not in 
    ( select  r.role_name  from bas_t_role r,bas_t_user u,bas_t_user_role ur  
    where r.role_id=ur.Role_Id and ur.user_id=u.user_id and u.user_name=?)";
    PreparedStatement ps = connect.preparedStatement(sql);
    ps.setString(1,username);
      

  5.   

    如果是简单的servlet的话:sql: select * from table where id = ?
     PreparedStatement类中方法:setString(int parameterIndex, String x) 
    可以设置,
    不知道是不是LZ想要?