我这里有一个问题,我想要做的是从表中获取当前日期和一列。到目前为止,我的代码如下:
s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
rset = s.executeQuery("select getdate() as date, tglpengiriman from orders");
java.sql.Date date = rset.getDate("date");
java.sql.Date tglkirim = rset.getDate("tglpengiriman"); 并在上面代码的第3行抛出异常"no current row in ResultSet“。我的代码出了什么问题?也许是错过了对ResultSet用法的理解?
谢谢你的回复。
编辑:已应答。请参阅下面@Christopher的帖子。谢谢
发布于 2012-05-26 05:05:46
在调用任何ResultSet.get*方法之前,需要先调用ResultSet.next。请看一下Statement、ResultSet等的文档。还要确保在'finally‘块中关闭所有资源。
发布于 2012-05-26 05:06:47
在从结果集中获取数据之前,您需要调用rset.next()。检查rset.next()是否返回true也是明智的。
发布于 2012-10-22 15:02:11
像这样迭代结果集的数据
while (resultSet.next()) {
java.sql.Date date = rset.getDate("date");
java.sql.Date tglkirim = rset.getDate("tglpengiriman");
}因为结果集的初始位置总是在第一条记录之前,即在第一条记录的开头,所以这个resultSet.next()使你的结果集指向第一条记录。
https://stackoverflow.com/questions/10761315
复制相似问题