请帮我看一下下列查询代码哪有错误,为什么查询不了东东呢?
public User selectInfo()throws Exception{
conn=new DB().getConnection();
User user=new User();
//Boolean flag=false;
try {
ps=conn.prepareStatement("select UserName,Password,Gender,Email,Photo,Grade from tbl_Assistant where UserName=?");
ps.setString(1, user.getUserName());
rs=ps.executeQuery();
if(rs.next()){
user.setUserName(rs.getString(1));
user.setPassword(rs.getString(2));
user.setGender(rs.getString(3));
user.setEmail(rs.getString(4));
user.setPhoto(rs.getString(5));
user.setGrade(rs.getInt(6));
}
} catch (
SQLException e) {
e.printStackTrace();
}finally{
this.close();
}
return user;
}
------解决方案--------------------有没有报错啊,有的话贴出来啊,而且这个方法,你没有设置参数,怎么根据条件查询啊
------解决方案--------------------user是你new出来的对象,user.getUserName()应该是空的
------解决方案--------------------User user=new User();
ps.setString(1, user.getUserName());
设置的参数是没内容的吧,怎么能查询出数据呢。
------解决方案--------------------selectInfo()方法根据什么查询?
依你下面的代码看是根据是userName来查的,selectInfo()方法中应该传一个参数过去!
------解决方案--------------------1:User user=new User();
ps.setString(1, user.getUserName());
user.getUserName())为空
2:where 子条件查询为空
------解决方案--------------------上面的已经给你发出来了,你可以在这之前加一个user.setUserName("****");
这样就有了,不过实际中.这个user肯定是传回来了的
------解决方案--------------------
------解决方案--------------------user对象为空
user。getname为空
你方法应该改下
public User selectInfo(String username)
把username传递过来就OK了
其他都没有问题