我有一条查询语句是从多个表查询数据的,语句本身没有问题,还是列出来吧:select kcm01.kcckmc,kct02.kcpdhm,kcm03.kcczmc,kct02.kcczrq,kct02.xtbmdm,xtm14.xtwlmc,xtm07.xtzgxm,xtm08.xtyhxm from kcm03,kct02,kcm01,xtm14,xtm07,xtm08 where kcm03.kcczyy=kct02.kcczyy and kct02.kcckdm=kcm01.kcckdm and kct02.xtwldm=xtm14.xtwldm and kct02.kcckry=xtm07.xtzgdm and kct02.kcczry=xtm08.xtyhdm and kct02.kcczlx='03' and kct02.kckjnd=2008 
然后我用system.out.println(rs.getInt(1)) 
就报SQLServer 2000 Driver for JDBC]Invalid operation for the current cursor position异常。
要说数据库连接有问题吧,可是 我用system.out.println(rs)是没有异常的,请问高手是怎么回事? 如何解决?谢谢!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主截止到2008-06-21 18:53:48的汇总数据:
    注册日期:2007-8-8
    上次登录:2008-6-16
    发帖数:1                  发帖分:30                 
    结贴数:0                  结贴分:0                  
    结贴率:0.00 %        结分率:0.00 %        
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   


    先要把cursor 移动到第一条记录位置才可以读数据像这样写吧
    if(rs.next()){
       system.out.println(rs.getInt(1)) 
    }要读多条数据用while(rs.next()){
       system.out.println(rs.getInt(1)) 
    }
      

  3.   

    必须先调用rs.next(),把指针移到下一个才可以输出。
      

  4.   

    将指针从当前位置下移一行。ResultSet 指针最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。 
    如果开启了对当前行的输入流,则调用 next 方法将隐式关闭它。读取新行时,将清除 ResultSet 对象的警告链。 
    返回:
    如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false 
    抛出: 
    SQLException - 如果发生数据库访问错误
      

  5.   

    将指针从当前位置下移一行。ResultSet 指针最初位于第一行之前;第一次调用 next 方法使第一行成为当前行;第二次调用使第二行成为当前行,依此类推。 
    如果开启了对当前行的输入流,则调用 next 方法将隐式关闭它。读取新行时,将清除 ResultSet 对象的警告链。 
    返回:
    如果新的当前行有效,则返回 true;如果不存在下一行,则返回 false 
    抛出: 
    SQLException - 如果发生数据库访问错误
    看看JDK的帮助是怎么写的.
      

  6.   

    多看jdk的帮助文档没有坏处,比任何教材都全面且权威!!!
      

  7.   

    漏了 rs.next();
    同意2楼。