2.1)如果你采用jdbc-odbc驱动。那么只能告诉你,你必须按照查询的顺序去获取顺序的字段。如果打乱顺序,或重复查询同一列,将会获取null或抛出上面的异常。
(2.2)如果你采用weblogic jdriver驱动。那么将不支持jdbc2.0 method。
(2.3)如果你采用MS自己的JDBC驱动。那么在查询语句中不包含blob或clob字段(就是Image和Text类型)的时候,查询是支持re-read方式的,可以非顺序查询。但是一旦包含的blob或clob字段。那么就必须按照顺序查询,且不支持

解决方案 »

  1.   

    microsoft 的 sql server 2000 JDBC DRIVER 只能读取一次数据信息,
    即rs.getString("name")只能取一次,如果重复读取,会出异常。所以,通常将取得的数据保存在一个变量中,供后续调用。另外,还有这个DRIVER对取得的值只能依次调用,即依select中出现的
    栏位次序来调用该栏位,如:
    select username, address from userinfo则
     rs.getString("username");
     rs.getString("address");
    而如果:
     rs.getString("address");
     rs.getString("username");会出现异常。