sb = new StringBuffer();
                sb.append("select tr.calledareacode,tr.callednumber,");
                sb.append("tr.chargeareacode,tr.chargenumber,tr.content,");
                sb.append("tr.transmitseq,sr.serviceid,sr.spcode,");
                sb.append("sr.feetype,sr.feecode,sr.icpid,sr.serviceno ");
                sb.append("from cstransmitsms tr,cssmsservice sr where ");
                sb.append("tr.transmitseq>").append(seqid).append(" and ");
                sb.append("tr.serviceno=sr.serviceno and transmitstatus=0 ");
                sb.append("and sr.icpid='").append(serviceno);
                sb.append("' order by tr.transmitseq");
                String sql1 = sb.toString();
                rs = stmt.executeQuery(sql1);
                System.out.println(sql1);
                while (rs.next()) {
                  。。
                  } 我把sql1语句放到sql/plus里执行能查出结果,但是在这里就是不走while(rs.next()),不知道什么原因,各位帮帮忙了

解决方案 »

  1.   

    System.out.println(sql1); 
                    while (rs.next()) { 
                       System.out.println("in the while");                  。。 
                      } 1,先看 sql1 是否输出。
    2, 我怀疑 是进了 while只是没有得到你想要的结果  加上面的代码测试下。
        在仔细检查 while(); 里面的语句。
      

  2.   

    没有进while,我是断点单步调试的,就没进去,弄了我好半天了,郁闷
      

  3.   

    调试了啊。。把打印出来的sql1语句放到数据库里执行,没问题,查出记录了,就是程序里不行,实在不知道哪出问题了,rs也不是空的啊
      

  4.   

    加入到try {

    } catch (Exception e) {
    e.printStackTrace();
    }
    看看是不是会抛出什么异常
      

  5.   

    加入到try {

    } catch (Exception e) {
    e.printStackTrace();
    }
    看看是不是会抛出什么异常
      

  6.   

    不走try catch。。晕死啊。。判断rs.next是false,但是为什么把语句直接拿到数据库里就有结果呢
      

  7.   

    把数据库连接到next之间的代码粘出来看看
      

  8.   

    lz既然说打印出了sql1,说明sql语句本身不存在问题,而且是在执行完查询语句打印的,说明连接操作数据库都没有问题,那我想问题会不会出现在返回的结果集上呢?在rs = stmt.executeQuery(sql1); 后面加个int num = rs.getRow();看看执行完都第几行了.我估计是到最后一行了...
      

  9.   

    打印一下out.print(rs);看看什么结果。