我在学习j2ee的时候使用jdbc连接过ms sql server 2000,开始的时候一切都正常,但是后来遇到了一个很头痛的问题,就是我们在从表中读取数据放到ResultSet中后,读取列值的时候一定的按照列的顺序读取,比如如果表中有三列id, name, address,按条件查询得到的结果放到ResultSet中,显示结果时如果这样写代码
java.sql.ResultSet employees; while(employees.next()){ employees.getString("address"); employees.getString("name"); } 在运行的时候将会"column can not be re-read"错误,此时把两条语句颠倒就好了(此条只适用于连接MS SQL Server 2000)
连接数据库代码如下:
try { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); conn = DriverManager.getConnection( "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Hotel;User=sa;Password=sa"); // Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // conn = DriverManager.getConnection("jdbc:odbc:hotel"); } catch (SQLException e) { System.err.println(e); } catch (ClassNotFoundException e) { System.err.println(e); }
|