【发布时间】:2015-06-06 11:52:31
【问题描述】:
我在执行这个案例时遇到了问题。
1) 一些例子表明我们可以像下面这样使用:
try{
bd.conectarBaseDeDatos();
PreparedStatement stmt;
String sql=("SELECT * FROM cab_pedido a, det_pedido b WHERE a.numero = b.numero and a.cod_agencia = b.cod_agencia");
System.out.println(sql);
stmt = bd.conexion.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
bd.result = stmt.executeQuery(sql);
}
catch (InstantiationException | IllegalAccessException | SQLException e){ System.out.println(e);}
return rs;
}
这将返回我的结果集,我可以使用 rs.next()。 rs.previous() 等来解决我的问题,但我看到一些 cmets 说我们应该关闭 rs 和 db 连接。那有多危险?我可以在不关闭结果集和连接的情况下实现吗?因为当我们关闭 resultSet 时,我将无法再获取数据。
2) 将数据存入Hashmap或list 这是另一种可能性,但如果我想获得最后一个或第一个值,我该怎么做?
我需要 next、prev、last 和 first 函数,但我不确定我的第一个实现。
谁能给我一些关于如何开始的建议。
我需要解决方案,建议。那个重复没有任何意义。
【问题讨论】:
标签: java mysql database resultset