欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

oracle的resultset循环出现有关问题

更新时间: 2014-01-05 02:14:42 责任编辑: Author_N1

 

Oracle的ResultSet循环出现问题
public List<Product> getProductsByKeys(String keys){
final ArrayList<Product> products = new ArrayList<Product>();
String sql = "select * from product where name like '%"+keys+"%'";
System.out.println("sql:"+sql);
this.query(sql, new RowCallbackHandler() {

@Override
public void processRow(ResultSet rs) throws SQLException{
Product product = null;
while (rs.next()) {
product = new Product();
product.setId(rs.getString("id"));
product.setName(rs.getString("name"));
product.setPrice(rs.getString("price"));
System.out.println(product);
products.add(product);
}
}
});
return products;
}

上面的始终取不到第一个结果,所有的都是从第二个开始,Oracle的ResultSet所指向的第一个都是从真正的数据开始吗?我第一次用Oracle
--参考方法--
使用JDBC是没有问题的,你用别人的框架得看它的文档说明。
你可以使用ResultSet的isBeforeFirst(),isFirst(),getRow()方法去判断是否已经执行过next了。
如果确实是已经执行过next了,那么你可以改成:
do{...}while(rs.next());
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:42
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7470/
本文WWW.DOC100.NET DOC100.NET版权所有。