我以前也遇到过这样的问题~~SQL语句是没有问题的~~这一点可以肯定~~问题一定出在取结果集上`~~看看哪里写错了~~估计应该是在rs.getString("字段名");上出错你换成index试一下字段名不要加上表名

解决方案 »

  1.   

    如果你的SQL语句中有TAB键,都干掉,可能影响查询结果
      

  2.   

    rs.getString("字段名");字段名不要加上表名,不行的话用getString(0),getString(1)来取值
      

  3.   

    楼上的,好像也不得行
    我代码是这样的
    ResultSet rs1 = Dba.ExecQuery("SELECT VT1.* FROM ( ( SELECT @@ROWCOUNT VR, VT.* from ( select * from CLGL_ABSENCE ) VT ) ) VT1 WHERE (VR > 0) AND (VR < 21)");
            while(rs1.next())
            {
             System.out.println(rs1.getString(3));
            }
    while循环都没有执行,但是在查询分析器中能取到数据
      

  4.   

    你怎么知道循环没有执行?while(rs1.next())
            {
             System.out.println("11111111111111111");
             System.out.println(rs1.getString(3));
            }
    如果没有执行,只能说明是你的statement有问题了,没有得到结果集
      

  5.   

    我试了,111111111111111都没有打出来,所以循环没有执行,但是其他的SQL语句又可以执行,也就是同样的statement,就这个SQL语句没有结果集,但在查询分析器中又有结果集,怎么解决呀?
      

  6.   

    换种方法试,在 sql语句中的变量全加上 as value1 ,.... as value2 ....
    然后取的时间再
    System.out.println(rs1.getString("value1"));
    试一下怎样?
      

  7.   

    我的sql语句中的表名是传进去的,针对不同的表名有不同的字段,也就是很难写出字段名
      

  8.   

    我现在发觉是SQL语句中@@ROWCOUNT的问题