本帖最后由 haobibo 于 2010-11-21 03:46:01 编辑

解决方案 »

  1.   

    结果集空了.在if(rs.next())之前打印你的sql语句看看对不对.
      

  2.   

    在oracle里先执行下SQL语句,看看有没有错误
      

  3.   

    先判断你的
    if(rs != null){
      //do something.
    }
    由于sql查询出来的应该只有一条记录。所以我在考虑是不是next的时候跳过这句语句了。
      

  4.   

    #1.我暂时想不到比较简便的把PreparedStatement里面的SQL语句打印出来的方法;
    #2.说过了...next返回的都为false,更不可能有结果集;
    #3.说过了...在Oracle SQL Plus里面执行没问题;
    #4.如果null执行的时候会抛出空指针异常的.调试良久,先从WHERE的地方下手,切掉WHERE子句,看起来是没什么问题,可是我也不知道为什么后来重写了一遍就对了.感谢楼上几位的热心,虽然最后还是我自己调出来的,一起学习,一起加油.