重复读取了,同一条记录的每个column只能读一次

解决方案 »

  1.   

    rs.getString(1); //ok
    rs.getString(2); //ok
    rs.getString(1); //wrong如果需要用到两次,请先赋值给一个变量,第二次使用时直接用变量代替,不要再次rs.getString了
      

  2.   

    to:  kevinliuu(@。@) ( ) 信誉:107怎么不能用两次呢?我看到好多人都这么说,为了测试,我还专门安装了SQLServer2000 SP4,
    jdbc用的是 sqljdbc.jar(从http://www.microsoft.com/downloads/details.aspx?FamilyID=e22bc83b-32ff-4474-a44a-22b6ae2c4e17&DisplayLang=zh-cn下载的),下列代码运行准确无误。是不是和jdbc版本有关呢?while(rs.next()){
       System.out.println(rs.getString("userid") + " --- " + rs.getString("userpass") + " --- " + rs.getString("userid")); // 取userid两次
    }
      

  3.   


    第四列,是ntext数据类型的,
    ResultSet.getString("columnName")中的columnName实际值是content(数据库中的列名),上面是我举例说明的。
    问题是其他如:nvarchar\varchar类型的列用ResultSet.getString(列名)就没事。
      

  4.   


    可能是由于 ntext 的列里存的文本太大,需要用 Clob 类处理
      

  5.   

    如果新版本的驱动可以的话,我就不清楚了但是我之前用sqlserver时遇到过完全相同的情况你可以试试我说的方法while(rs.next()){
    String userid = rs.getString("userid");
    String password = rs.getString("userpass");
    System.out.println( userid + " --- " + password  + " --- " +userid ); // 取userid两次
    }