日期:2014-05-16 浏览次数:20444 次
今天使用dwr的时候发现js无法执行回调函数,但是通过页面js测试类却没有问题正常运行,能够显示数据,但是就是结构不是我想要的结果,发现rs.next()语句不执行,上网找了很多大侠的解说,顿时灵光一线但是改过后没有反应,结果还不正确,静下心来分析问题吧。
?
1.首先说ResultSet这个东西是一个接口,各个数据库驱动来实现他,真正我们用到的rs就已经是实例化的东西了,所以rs!=null这个肯定是正确的了,所以来判断是否rs有值就不能通过这个来判断。
2.通过rs.next()这个方法判断才是王道,rs.next()表示结果集里rs游标从0条向下移动到第一条结果看看有没有结果如果有结果就显示true,否则显示false。
? 道理是明白了,但是为什么还会出现问题呢,仔细从自身查找原因原来在我System.out.println("rs.next===="+rs.next())已经在真正if(rs.next())之前叫游标向下移动,已经移动到了第一条,知道真正执行if(rs.next())时候就真的找不到结果了。
?
这个问题,也给我了启示要多注意自己的代码不要怀疑别人的程序。从原理分析问题,不要浮躁的解决问题。