Я хочу иметь ArrayList
с данными, находящимися в базе данных PostgreSQL.Как добавить к ArrayList данные ResultSet?
Например:
Column1 Column2 Column3 Column4
A B C D
J D S E
arraylist.get(0) = (A, B, C, D)
arraylist.get(1) = (J, D, S, E)
У меня есть это:
public static ArrayList<Ordenes> SelectInstruct (int a) throws SQLException
{
String driver = "org.postgresql.Driver";
String server = "jdbc:postgresql://localhost:5432/postgres";
String user = "usuario";
String pass = "contraseña";
ArrayList<Ordenes> ordenes = new ArrayList<Ordenes>();
Ordenes ord = new Ordenes();
try
{
Class.forName(driver);
Connection conexion = DriverManager.getConnection(server, user, pass);
Statement dato = conexion.createStatement();
ResultSet rs = dato.executeQuery("SELECT * FROM \"Ordenes\"" + "WHERE \"Operario\" = "+a+";");
conexion.close();
rs.
if (rs.next())
{
ord.setNumOrden(rs.getString("Numero de orden"));
ord.setStatus(rs.getString("Status"));
ord.setFechaInicio(rs.getString("Fecha Inicio"));
ord.getPrd().setNumero(rs.getInt("Numero de producto"));
ord.getPrd().setDescripcion(rs.getString("Descripcion Producto"));
ord.setCantidad(rs.getInt("Cantidad Solicitada"));
ord.setDescripcion(rs.getString("Descripcion Orden"));
ord.getPrd().getInstr().get(0).setCodIns(rs.getInt("Codigo Instruccion"));
ord.getPrd().getInstr().get(0).setMat(rs.getInt("Material"));
ord.getOper().add(rs.getInt("Operario"));
}
ordenes.add(ord);
}
catch (Exception e)
{
}
return ordenes;
}
Могу ли я вставить While
или For
?
Несколько проблем здесь: вы закрываете соединение перед чтением из набора результатов. Вы получаете исключение, но ничего не делаете с ним (по крайней мере, 'e.printStackTrace()'! Вы можете использовать цикл while вместо 'if', но помните, что у вас есть' ord = new Ordenes() ' в конце каждой итерации. – RealSkeptic