你的Statement对象可是这样写的?
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
另,while循环里怎么没见你写i++?
stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
另,while循环里怎么没见你写i++?
看不出来啊,如果i<pagesize一直成立的话,相当于while变成while(rs.next())啊,应该没问题啊!
你好!
不好意思,i++有的,这里忘了。
Statement是这样写的:stmt = conn.createStatement();
这是非常不科学的!
java还JAVA,HTML还HTML,分开好一点!
这样写只影响last()方法,楼主的代码能不能贴完整点!
前面的代码如下,很简单的。
String DB_CONNECTION_STRING = "jdbc:odbc:test";
String dbDriver = "sun.jdbc.odbc.JdbcOdbcDriver";
Connection connection = null;
Statement statement = null;
ResultSet rs = null;
String sql;
try {
Class.forName(dbDriver);
connection = DriverManager.getConnection(DB_CONNECTION_STRING);
statement = connection.createStatement();
sql = "SELECT * FROM test";
rs = statement.executeQuery(sql);
}
catch(ClassNotFoundException e) {
System.err.println("Error loading driver: " + e);
}
catch(SQLException e) {
e.printStackTrace();
}
logs信息如上述问题描述
我怎么横看竖看出了i的只需要变外,就是没错啊!
感觉如果换成if没问题的话那就可能是这个原因了。
换成if是能打印出一条记录来,如果只有一条记录,输出一条记录后我用if测试rs.next()返回的就是false。但用while就是报错,真的很奇怪。(i不需要考虑,没有影响)
我将while()语句块内容全部注释掉还是同样的问题。