当前位置: 代码迷 >> J2EE >> 数据库查询不到货色
  详细解决方案

数据库查询不到货色

热度:33   发布时间:2016-04-17 23:40:51.0
数据库查询不到东西

public Users selectInfo(String username){
Users user = new Users();
con = DatabaseDAO.getConnection();
try{
pt = con.prepareStatement("SELECT * FROM users where username = ?");
pt.setString(1, username); 
rs = pt.executeQuery();
if(rs.next()){
System.out.println("========进不来这里!=========================");
}

这个方法是从Action调的,Action运行没问题,别的方法跟这个差不多都没问题,但是到了这个方法if(rs.next())怎么都执行不进来,查询语句我弄到数据库里都能运行,实在看不出到底是哪里错了,求大神指点,从哪开始排查
------解决思路----------------------
在 if(rs.next()){ 之前加上 

rs.last(); // 将光标移动到最后一行     
int rowCount = rs.getRow(); // 得到当前行号,即结果集记录数
  
看看查询得到的结果数,如果结果数为0,那就说明是SQL赋值的问题了
------解决思路----------------------
我估计是没有这个username存在,输出一下username的值看看?是不是乱码了?

------解决思路----------------------
第一感觉,核实下数据库里的表名与列名。
------解决思路----------------------
经常出错的地方,表名 字段名 sql语句 赋值。
------解决思路----------------------
打断点,单步调试,看看connection是连上了,username的值是什么,rs的返回的是什么,或者是不是直接抛异常了
------解决思路----------------------
看数据库中数据是不是对应
------解决思路----------------------
1.复制sql语句直接在数据库上查询,是否能或许正确结果
2.先把不用where过滤username,查看是否可以获取result
3.输出username是否为空或者乱码
  相关解决方案