Hola:
El problema está, creo, en que en el LinkedList necesitas un objeto Registro y estás recibiendo un objeto Conexion. Yo lo haría de otra manera.
En la clase conexión dejaría solo la conexión con la base de datos:
Código Java:
Ver originalpublic class Conexion {
/*
* La URL con la cual nos conectarémos a la base de datos.
*/
private static String url
= "jdbc:oracle:thin:@10.10.6.152:1521:intrac"; /*
* El usuario de la base de datos.
*/
private static String user
= "XxsV2344"; /*
* La clave del usuario de la base de datos.
*/
private static String password
= "Xxsv2344";
/*
* Método para obtener la conexión con la base de datos.
*/
public static synchronized Connection getConexion
() { try {
/*
* Cargamos el driver
*/
Class.forName("oracle.jdbc.driver.OracleDriver");
/*
* Obtenemos la conexión
*/
System.
out.
println("Error --> " + e
); cn = null;
System.
out.
println("Error --> " + e
); cn = null;
}
return cn;
}
}
La clase Registro la dejaría tal y como está. El siguiente paso es que crearía otra clase, por ejemplo DBRegistros para todas las operaciones con la clase Registros, donde incluiría la inserción de registros, actualización de registros, borrado de registros y consulta de registros.
Por ejemplo:
Código Java:
Ver originalpublic class DBRegistros {
public LinkedList<Registros> getContactos() {
LinkedList<Registros> listaContactos = new LinkedList<Registros>();
try {
conn = Conexion.getConexion();
System.
out.
println(e.
getMessage()); }
if (conn != null) {
consulta = "select t.epol_jefe_inmediato dir, t.epol_tipo_negocio tp, t.epol_ramo_contable ramon, sum(t.epol_facturado_mes) vlr from LFV_EXT_POLIZAS t where t.epol_ramo_contable in (1,23,34,40) and t.epol_cod_loc_neg=1003 and t.epol_jefe_inmediato=9937 and to_char(t.epol_ano)=2013 and to_char(t.epol_mes)=8 group by t.epol_jefe_inmediato, t.epol_tipo_negocio, t.epol_ramo_contable order by tp, ramon ";
try {
ps = conn.prepareStatement(consulta);
while (rs.next()) {
Registro contacto = new Registro();
contacto.setId(rs.getInt("dir"));
contacto.setNombre(rs.getString("tp"));
contacto.setRamo(rs.getInt("ramon"));
contacto.setValor(rs.getDouble("vlr"));
listaContactos.add(contacto);
}
System.
out.
println(e.
getMessage()); System.
out.
println(e.
getMessage()); } finally {
try { // cierro la conexion con la base de datos
if (conn != null && !conn.isClosed()) {
conn.close();
}
System.
out.
println(e.
getMessage()); System.
out.
println(e.
getMessage()); }
}
}
return listaContactos;
}
}
Y por último, donde haces el iterator cambias esta línea:
Código Java:
Ver originalLinkedList<Registros> lista = Conexion.getContactos();
por esta otra:
Código Java:
Ver originalLinkedList<Registros> lista = DBRegistros.getContactos();
Y si no me equivoco debería funcionarte.
Saludos.
P.D.: Es posible que en algunos casos me haya equivocado y haya puesto Registro donde debería poner Registros, supongo que te darás cuenta.