Java - DE NUEVO... ERROR EN ADD DE ArrayList

 
Vista:

DE NUEVO... ERROR EN ADD DE ArrayList

Publicado por ZacJack (9 intervenciones) el 05/02/2006 15:41:40
Hola a todos!!!

Soy estufiante de VI semestre de Tecnologia en Sistemas de Inf., actualmente estoy desarrollando una aplicacion web para mi trabajo de grado, luego de "comer" bastante informacion he adelantado bastante en mi proyecto, per desde hace un par de dias Tengo un problema al agregar nuevos objetos a un ArrayList, ya habia puesto mi inquietud en el foro, pero al parecer nadie lo leyo o no le encontro solución; igual aqui expongo de nuevo mi problema.

Estoy desarrollando una aplicacion web que servira a la universidad en la que estudio, el Centro Operativo de Comunicaciones y medios presta equipos audiovisuales y salas especiales.... al grano, tengo quegenerar la programacion de equipos y salas, pero resulta que cuando hago la consulta a mi base de datos esta sale bien, ahora cuando agrego cada registro a un ArrayList, este sobreescribe los datos antes agregados por la informacion del ultimo registro agregado, dejando solo el codigo correcto; algo mas o menos asi.

TABLA
------
COD DATO1 DATO2 DATO3
001 1 1 1
002 2 2 2
003 3 3 3
004 4 4 4

EN EL ArrayList
---------------
COD DATO1 DATO2 DATO3
001 4 4 4
002 4 4 4
003 4 4 4
004 4 4 4

POR FAVOR AYUNDEME!!!!!

Adjuto los codigos: En el siguiente mensaje...jeje

Lo extraño del caso es que el mismo algoritmo lo utilizo en mis otras consultas y no presentan este problema...
... Acaso el ArrayList presenta problema con determinado tamaño de un objeto?

AH!!! el problema esta en los metodos getSolicitudes(...

De antemano gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DE NUEVO... ERROR EN ADD DE ArrayList

Publicado por ZacJack (9 intervenciones) el 05/02/2006 15:43:00
Adjunto el Codigo del objeto Solicitud

Solicitud.java

package libreria;

public class Solicitud {
private String Cod_solicitud = null;
private static java.sql.Date fecha_radicacion = null;
private String titulo_trabajo_evento = null;
private String caracter_solicitud = null;
private String valor = null;
private String cantidad_solicitada = null;
private static java.sql.Date fecha_inicio = null;
private static java.sql.Time hora_inicio = null;
private static java.sql.Date fecha_finalizacion = null;
private static java.sql.Time hora_finalizacion = null;
private String lugar = null;
private String Cod_solicitante = null;
private String Cod_servicio = null;
private String Cod_tipo_trabajo = null;
private String Cod_tam_contenido = null;
private String Cod_tam_caratula = null;
private String Cod_acabado = null;
private String Cod_aula = null;
private String observaciones = null;
private String estado = null;
private String recibido = null;

public Solicitud (String Cod_solicitud, java.sql.Date fecha_radicacion, String titulo_trabajo_evento,
String caracter_solicitud, String valor, String cantidad_solicitada, java.sql.Date fecha_inicio,
java.sql.Time hora_inicio, java.sql.Date fecha_finalizacion, java.sql.Time hora_finalizacion, String lugar,
String Cod_solicitante, String Cod_servicio, String Cod_tipo_trabajo, String Cod_tam_contenido,
String Cod_tam_caratula, String Cod_acabado, String Cod_aula, String observaciones, String estado, String recibido ) {
this.Cod_solicitud = Cod_solicitud;
this.fecha_radicacion = fecha_radicacion;
this.titulo_trabajo_evento = titulo_trabajo_evento;
this.caracter_solicitud = caracter_solicitud;
this.valor = valor;
this.cantidad_solicitada = cantidad_solicitada;
this.fecha_inicio = fecha_inicio;
this.hora_inicio = hora_inicio;
this.fecha_finalizacion = fecha_finalizacion;
this.hora_finalizacion = hora_finalizacion;
this.lugar = lugar;
this.Cod_solicitante = Cod_solicitante;
this.Cod_servicio = Cod_servicio;
this.Cod_tipo_trabajo = Cod_tipo_trabajo;
this.Cod_tam_contenido = Cod_tam_contenido;
this.Cod_tam_caratula = Cod_tam_caratula;
this.Cod_acabado = Cod_acabado;
this.Cod_aula = Cod_aula;
this.observaciones = observaciones;
this.estado = estado;
this.recibido = recibido;
}
public Solicitud (String Cod_solicitud, String fecha_radicacion, String titulo_trabajo_evento,
String caracter_solicitud, String valor, String cantidad_solicitada, String fecha_inicio,
String hora_inicio, String fecha_finalizacion, String hora_finalizacion, String lugar,
String Cod_solicitante, String Cod_servicio, String Cod_tipo_trabajo, String Cod_tam_contenido,
String Cod_tam_caratula, String Cod_acabado, String Cod_aula, String observaciones, String estado, String recibido ) {
Convertions C = new Convertions();
this.Cod_solicitud = Cod_solicitud;
this.fecha_radicacion = C.SparseToDate(fecha_radicacion);
this.titulo_trabajo_evento = titulo_trabajo_evento;
this.caracter_solicitud = caracter_solicitud;
this.valor = valor;
this.cantidad_solicitada = cantidad_solicitada;
this.fecha_inicio = C.SparseToDate(fecha_inicio);
this.hora_inicio = C.SparseToTime(hora_inicio);
this.fecha_finalizacion = C.SparseToDate(fecha_finalizacion);
this.hora_finalizacion = C.SparseToTime(hora_finalizacion);
this.lugar = lugar;
this.Cod_solicitante = Cod_solicitante;
this.Cod_servicio = Cod_servicio;
this.Cod_tipo_trabajo = Cod_tipo_trabajo;
this.Cod_tam_contenido = Cod_tam_contenido;
this.Cod_tam_caratula = Cod_tam_caratula;
this.Cod_acabado = Cod_acabado;
this.Cod_aula = Cod_aula;
this.observaciones = observaciones;
this.estado = estado;
this.recibido = recibido;
}

public String getCod_solicitud () {
return this.Cod_solicitud;
}
public String getSFradica () {
Convertions C = new Convertions();
return C.DparseToString(this.fecha_radicacion);
}
public java.sql.Date getFradica () {
return this.fecha_radicacion;
}
public String getTitulo () {
return this.titulo_trabajo_evento;
}
public String getCaracter () {
return this.caracter_solicitud;
}
public String getValor () {
return this.valor;
}
public String getCantidad () {
return this.cantidad_solicitada;
}
public String getSFinicio () {
Convertions C = new Convertions();
return C.DparseToString(this.fecha_inicio);
}
public String getSHinicio () {
Convertions C = new Convertions();
return C.TparseToString(this.hora_inicio);
}
public String getSFtermina () {
Convertions C = new Convertions();
return C.DparseToString(this.fecha_finalizacion);
}
public String getSHtermina () {
Convertions C = new Convertions();
return C.TparseToString(this.hora_finalizacion);
}
public java.sql.Date getFinicio () {
return (this.fecha_inicio);
}
public java.sql.Time getHinicio () {
return (this.hora_inicio);
}
public java.sql.Date getFtermina () {
return (this.fecha_finalizacion);
}
public java.sql.Time getHtermina () {
return (this.hora_finalizacion);
}
public String getLugar () {
return this.lugar;
}
public String getCod_solicitante () {
return this.Cod_solicitante;
}
public String getCod_servicio () {
return this.Cod_servicio;
}
public String getCod_tipo_trabajo () {
return this.Cod_tipo_trabajo;
}
public String getCod_tam_contenido () {
return this.Cod_tam_contenido;
}
public String getCod_tam_caratula () {
return this.Cod_tam_caratula;
}
public String getCod_acabado () {
return this.Cod_acabado;
}
public String getCod_aula () {
return this.Cod_aula;
}
public String getObservaciones () {
return this.observaciones;
}
public String getEstado () {
return this.estado;
}
public String getRecibido () {
return this.recibido;
}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DE NUEVO... ERROR EN ADD DE ArrayList

Publicado por ZacJack (9 intervenciones) el 05/02/2006 15:46:05
Adjunto el codigo de las tranasacciones a la base de datos

SolicitudTDB.java

package libreria;

import java.sql.*;
import java.util.*;
import javax.sql.*;
import javax.naming.*;

public class SolicitudTDB {
private TransaxDB TDB = null;
private ArrayList solicitudes;

public SolicitudTDB(TransaxDB TDB) throws Exception{
this.TDB = TDB;
}

public Solicitud getSolicitud (String Cod_solicitud) {
try {
this.TDB.getConnection ();
PreparedStatement preparedStatement = this.TDB.connection.prepareStatement ("SELECT Cod_solicitud, fecha_radicacion, titulo_trabajo_evento, caracter_solicitud, valor, cantidad_solicitada, fecha_inicio, hora_inicio, fecha_finalizacion, hora_finalizacion, lugar, Cod_solicitante, Cod_servicio, Cod_tipo_trabajo, Cod_tam_contenido, Cod_tam_caratula, Cod_acabado, Cod_aula, observaciones, estado, recibido FROM solicitud WHERE Cod_solicitud = ?");
preparedStatement.setString (1, Cod_solicitud);
ResultSet resultSet = preparedStatement.executeQuery ();
if (resultSet.next ()) {
Solicitud solicitud =
new Solicitud (resultSet.getString (1), resultSet.getDate (2), resultSet.getString (3),
resultSet.getString (4), resultSet.getString (5), resultSet.getString (6),
resultSet.getDate (7), resultSet.getTime (8), resultSet.getDate (9),
resultSet.getTime (10), resultSet.getString (11), resultSet.getString (12),
resultSet.getString (13), resultSet.getString (14), resultSet.getString (15),
resultSet.getString (16), resultSet.getString (17), resultSet.getString (18), resultSet.getString (19),
resultSet.getString (20), resultSet.getString (21)
);
preparedStatement.close ();
this.TDB.releaseConnection ();
return solicitud;
}
else {
preparedStatement.close ();
this.TDB.releaseConnection ();
return null;
}
}
catch (SQLException e) {
System.out.println (e.getMessage ());
this.TDB.releaseConnection ();
return null;
}
}

public int insertSolicitud (Solicitud solicitud) {
int rowsAffected = 0;
try {
this.TDB.getConnection ();
PreparedStatement preparedStatement = this.TDB.connection.prepareStatement ("INSERT INTO solicitud (Cod_solicitud, fecha_radicacion, titulo_trabajo_evento, caracter_solicitud, valor, cantidad_solicitada, fecha_inicio, hora_inicio, fecha_finalizacion, hora_finalizacion, lugar, Cod_solicitante, Cod_servicio, Cod_tipo_trabajo, Cod_tam_contenido, Cod_tam_caratula, Cod_acabado, Cod_aula, observaciones, estado, recibido) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
preparedStatement.setString (1, solicitud.getCod_solicitud ());
preparedStatement.setDate (2, solicitud.getFradica ());
preparedStatement.setString (3, solicitud.getTitulo ());
preparedStatement.setString (4, solicitud.getCaracter ());
preparedStatement.setString (5, solicitud.getValor ());
preparedStatement.setString (6, solicitud.getCantidad ());
preparedStatement.setDate (7, solicitud.getFinicio ());
preparedStatement.setTime (8, solicitud.getHinicio ());
preparedStatement.setDate (9, solicitud.getFtermina ());
preparedStatement.setTime (10, solicitud.getHtermina ());
preparedStatement.setString (11, solicitud.getLugar ());
preparedStatement.setString (12, solicitud.getCod_solicitante ());
preparedStatement.setString (13, solicitud.getCod_servicio ());
preparedStatement.setString (14, solicitud.getCod_tipo_trabajo ());
preparedStatement.setString (15, solicitud.getCod_tam_contenido ());
preparedStatement.setString (16, solicitud.getCod_tam_caratula ());
preparedStatement.setString (17, solicitud.getCod_acabado ());
preparedStatement.setString (18, solicitud.getCod_aula ());
preparedStatement.setString (19, solicitud.getObservaciones ());
preparedStatement.setString (20, solicitud.getEstado ());
preparedStatement.setString (21, solicitud.getRecibido ());
rowsAffected = preparedStatement.executeUpdate ();
preparedStatement.close ();
this.TDB.releaseConnection ();
}
catch (SQLException e) {
System.out.println (e.getMessage ());
this.TDB.releaseConnection ();
return 0;
}
return rowsAffected;
}

public int deleteSolicitud (String Cod_solicitud){
int rowsAffected = 0;
try {
this.TDB.getConnection ();
PreparedStatement preparedStatement =
this.TDB.connection.prepareStatement ("DELETE FROM solicitud WHERE Cod_solicitud = ?");
preparedStatement.setString (1, Cod_solicitud);
rowsAffected = preparedStatement.executeUpdate ();
preparedStatement.close ();
this.TDB.releaseConnection ();
}
catch (SQLException e) {
System.out.println (e.getMessage ());
this.TDB.releaseConnection ();
return 0;
}
return rowsAffected;
}

public int updateSolicitud (Solicitud solicitud) {
int rowsAffected = 0;
try {
this.TDB.getConnection ();
PreparedStatement preparedStatement =
this.TDB.connection.prepareStatement (
"UPDATE solicitud SET Cod_solicitud=?, fecha_radicacion=?, titulo_trabajo_evento=?, caracter_solicitud=?, " +
"valor=?, cantidad_solicitada=?, fecha_inicio=?, hora_inicio=?, fecha_finalizacion=?, hora_finalizacion=?, " +
"lugar=?, Cod_solicitante=?, Cod_servicio=?, Cod_tipo_trabajo=?, Cod_tam_contenido=?, Cod_tam_caratula=?, " +
"Cod_acabado=?, Cod_aula=?, observaciones=?, estado=?, recibido=? WHERE Cod_solicitud =?");
preparedStatement.setString (1, solicitud.getCod_solicitud ());
preparedStatement.setDate (2, solicitud.getFradica ());
preparedStatement.setString (3, solicitud.getTitulo ());
preparedStatement.setString (4, solicitud.getCaracter ());
preparedStatement.setString (5, solicitud.getValor ());
preparedStatement.setString (6, solicitud.getCantidad ());
preparedStatement.setDate (7, solicitud.getFinicio ());
preparedStatement.setTime (8, solicitud.getHinicio ());
preparedStatement.setDate (9, solicitud.getFtermina ());
preparedStatement.setTime (10, solicitud.getHtermina ());
preparedStatement.setString (11, solicitud.getLugar ());
preparedStatement.setString (12, solicitud.getCod_solicitante ());
preparedStatement.setString (13, solicitud.getCod_servicio ());
preparedStatement.setString (14, solicitud.getCod_tipo_trabajo ());
preparedStatement.setString (15, solicitud.getCod_tam_contenido ());
preparedStatement.setString (16, solicitud.getCod_tam_caratula ());
preparedStatement.setString (17, solicitud.getCod_acabado ());
preparedStatement.setString (18, solicitud.getCod_aula ());
preparedStatement.setString (19, solicitud.getObservaciones ());
preparedStatement.setString (20, solicitud.getEstado ());
preparedStatement.setString (21, solicitud.getRecibido ());
preparedStatement.setString (22, solicitud.getCod_solicitud ());
rowsAffected = preparedStatement.executeUpdate ();
preparedStatement.close ();
this.TDB.releaseConnection ();
}
catch (SQLException e) {
System.out.println (e.getMessage ());
this.TDB.releaseConnection ();
return 0;
}
return rowsAffected;
}
----------- Continua sig mensaje----------->>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DE NUEVO... ERROR EN ADD DE ArrayList

Publicado por ZacJack (9 intervenciones) el 05/02/2006 15:47:02
----------Continuacion del cogido, donde esta el problema --------->>
public Collection getSolicitudes () {
solicitudes = new ArrayList ();
try {
int i;
this.TDB.getConnection ();
PreparedStatement preparedStatement =
this.TDB.connection.prepareStatement (
"SELECT Cod_solicitud, fecha_radicacion, titulo_trabajo_evento, caracter_solicitud, " +
"valor, cantidad_solicitada, fecha_inicio, hora_inicio, fecha_finalizacion, hora_finalizacion, " +
"lugar, Cod_solicitante, Cod_servicio, Cod_tipo_trabajo, Cod_tam_contenido, Cod_tam_caratula, " +
"Cod_acabado, Cod_aula, observaciones, estado, recibido FROM solicitud ORDER BY fecha_radicacion desc");
ResultSet resultSet = preparedStatement.executeQuery ();
i=0;
while (resultSet.next ()) {
Solicitud solicitud =
new Solicitud (
resultSet.getString (1), resultSet.getDate (2), resultSet.getString (3),
resultSet.getString (4), resultSet.getString (5), resultSet.getString (6),
resultSet.getDate (7), resultSet.getTime (8), resultSet.getDate (9),
resultSet.getTime (10), resultSet.getString (11), resultSet.getString (12),
resultSet.getString (13), resultSet.getString (14), resultSet.getString (15),
resultSet.getString (16), resultSet.getString (17), resultSet.getString (18), resultSet.getString (19),
resultSet.getString (20),resultSet.getString (21)
);
solicitudes.add (solicitud);
}
preparedStatement.close ();
}
catch (SQLException e) {
System.out.println (e.getMessage ());
return null;
}
this.TDB.releaseConnection ();
return solicitudes;
}

public Collection getSolicitudes (java.sql.Date Fini, java.sql.Date Ffin, java.sql.Time Hini, java.sql.Time Hfin) {
solicitudes = new ArrayList ();
try {
this.TDB.getConnection ();
PreparedStatement preparedStatement =
this.TDB.connection.prepareStatement (
" SELECT s.Cod_solicitud, s.fecha_radicacion, s.titulo_trabajo_evento, s.caracter_solicitud, " +
" s.valor, s.cantidad_solicitada, s.fecha_inicio, s.hora_inicio, s.fecha_finalizacion, s.hora_finalizacion, " +
" s.lugar, s.Cod_solicitante, s.Cod_servicio, s.Cod_tipo_trabajo, s.Cod_tam_contenido, s.Cod_tam_caratula, " +
" s.Cod_acabado, s.Cod_aula, s.observaciones, s.estado, s.recibido FROM solicitud s "+
" WHERE ( "+
" (s.fecha_inicio > ? AND s.fecha_finalizacion < ? ) OR "+//fini-ffin
" (s.fecha_inicio < ? AND s.fecha_finalizacion > ? ) OR "+//fini
" (s.fecha_inicio = ? AND s.fecha_finalizacion > ? ) OR "+//fini
" (s.fecha_inicio < ? AND s.fecha_finalizacion > ? ) OR "+//ffin
" (s.fecha_inicio < ? AND s.fecha_finalizacion = ? ) OR "+//ffin
" (s.fecha_inicio < ? AND s.fecha_finalizacion > ? ) OR "+//fini-ffin
" (s.fecha_inicio < ? AND s.fecha_finalizacion = ? AND s.hora_finalizacion > ? ) OR "+//fini-fini-Hini
" (s.fecha_inicio = ? AND s.fecha_finalizacion > ? AND s.hora_inicio < ? ) OR "+//ffin-ffin-Hfin
" (s.fecha_inicio = ? AND s.fecha_finalizacion = ? AND s.fecha_inicio = s.fecha_finalizacion AND s.hora_inicio > ? AND s.hora_finalizacion < ? ) OR "+ //fini-ffin-Hini-Hfin
" (s.fecha_inicio = ? AND s.fecha_finalizacion = ? AND s.fecha_inicio = s.fecha_finalizacion AND s.hora_inicio < ? AND s.hora_finalizacion > ? ) OR "+ //fini-ffin-Hini-Hini
" (s.fecha_inicio = ? AND s.fecha_finalizacion = ? AND s.fecha_inicio = s.fecha_finalizacion AND s.hora_inicio = ? AND s.hora_finalizacion > ? ) OR "+ //fini-ffin-Hini-Hini
" (s.fecha_inicio = ? AND s.fecha_finalizacion = ? AND s.fecha_inicio = s.fecha_finalizacion AND s.hora_inicio < ? AND s.hora_finalizacion > ? ) OR "+ //fini-ffin-Hfin-Hfin
" (s.fecha_inicio = ? AND s.fecha_finalizacion = ? AND s.fecha_inicio = s.fecha_finalizacion AND s.hora_inicio < ? AND s.hora_finalizacion = ? ) OR "+ //fini-ffin-Hfin-Hfin
" (s.fecha_inicio = ? AND s.fecha_finalizacion = ? AND s.fecha_inicio = s.fecha_finalizacion AND s.hora_inicio < ? AND s.hora_finalizacion > ? ) "+ //fini-ffin-Hini-Hfin

" )"
);

preparedStatement.setDate (1, Fini);
preparedStatement.setDate (2, Ffin);
preparedStatement.setDate (3, Fini);
preparedStatement.setDate (4, Fini);
preparedStatement.setDate (5, Fini);
preparedStatement.setDate (6, Fini);
preparedStatement.setDate (7, Ffin);
preparedStatement.setDate (8, Ffin);
preparedStatement.setDate (9, Ffin);
preparedStatement.setDate (10, Ffin);
preparedStatement.setDate (11, Fini);
preparedStatement.setDate (12, Ffin);
preparedStatement.setDate (13, Fini);
preparedStatement.setDate (14, Fini);
preparedStatement.setTime (15, Hini);
preparedStatement.setDate (16, Ffin);
preparedStatement.setDate (17, Ffin);
preparedStatement.setTime (18, Hfin);
preparedStatement.setDate (19, Fini);
preparedStatement.setDate (20, Ffin);
preparedStatement.setTime (21, Hini);
preparedStatement.setTime (22, Hfin);
preparedStatement.setDate (23, Fini);
preparedStatement.setDate (24, Ffin);
preparedStatement.setTime (25, Hini);
preparedStatement.setTime (26, Hini);
preparedStatement.setDate (27, Fini);
preparedStatement.setDate (28, Ffin);
preparedStatement.setTime (29, Hini);
preparedStatement.setTime (30, Hini);
preparedStatement.setDate (31, Fini);
preparedStatement.setDate (32, Ffin);
preparedStatement.setTime (33, Hfin);
preparedStatement.setTime (34, Hfin);
preparedStatement.setDate (35, Fini);
preparedStatement.setDate (36, Ffin);
preparedStatement.setTime (37, Hfin);
preparedStatement.setTime (38, Hfin);
preparedStatement.setDate (39, Fini);
preparedStatement.setDate (40, Ffin);
preparedStatement.setTime (41, Hini);
preparedStatement.setTime (42, Hfin);

ResultSet resultSet = preparedStatement.executeQuery ();
while (resultSet.next ()) {
Solicitud solicitud =
new Solicitud (
resultSet.getString (1), resultSet.getDate (2), resultSet.getString (3),
resultSet.getString (4), resultSet.getString (5), resultSet.getString (6),
resultSet.getDate (7), resultSet.getTime (8), resultSet.getDate (9),
resultSet.getTime (10), resultSet.getString (11), resultSet.getString (12),
resultSet.getString (13), resultSet.getString (14), resultSet.getString (15),
resultSet.getString (16), resultSet.getString (17), resultSet.getString (18), resultSet.getString (19),
resultSet.getString (20),resultSet.getString (21)
);
solicitudes.add (solicitud);
}
preparedStatement.close ();
}
catch (SQLException e) {
System.out.println (e.getMessage ());
return null;
}
this.TDB.releaseConnection ();
return solicitudes;
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:DE NUEVO... ERROR EN ADD DE ArrayList

Publicado por Yamil Bracho (2315 intervenciones) el 06/02/2006 23:17:00
Cual es especificamente el error o la excepcion ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DE NUEVO... ERROR EN ADD DE ArrayList

Publicado por zacjack (9 intervenciones) el 07/02/2006 13:29:41
No hay error ni excepcion, el codigo como tal se ejecuta normalmente, el problema es de datos erroneos, como ya dije en el mnesaje, lo unico que puede ver es que le ultimo objeto en entrar sobreescribe los datos de los anteriores.

La tabla que se presenta es de referencia logicamente los datos son los que muestra la consulta (en el codigo)

TABLA ORIGINAL EN BD (los datos en resultset)
------------------------------------------------
Cod dato1 dato2 dato3
001 1 1 1
002 2 2 2
003 3 3 3
004 4 4 4

---------------------------------------------------------------------------------------------------------
// el metodo donde se presenta el error
public Collection getSolicitudes () {
solicitudes = new ArrayList ();
try {
this.TDB.getConnection ();
PreparedStatement preparedStatement =
this.TDB.connection.prepareStatement (
// LA CONSULTA....... (TODO BIEN HASTA EL MOMENTO)
"SELECT Cod_solicitud, fecha_radicacion, titulo_trabajo_evento, caracter_solicitud, " +
"valor, cantidad_solicitada, fecha_inicio, hora_inicio, fecha_finalizacion, hora_finalizacion, " +
"lugar, Cod_solicitante, Cod_servicio, Cod_tipo_trabajo, Cod_tam_contenido, Cod_tam_caratula, " +
"Cod_acabado, Cod_aula, observaciones, estado, recibido FROM solicitud ORDER BY fecha_radicacion desc");
// EJECUTA LA CONSULTA, EL RESULTSET TIENE LOS DATOS CORRECTOS
ResultSet resultSet = preparedStatement.executeQuery ();
while (resultSet.next ()) {
// CREO OBJETO SOLICITUD, PARA SACAR UNO A UNO LOS REGISTROS DEL
// RESULTSET, ESTE OBJETO TIENE LOS DATOS DEL REGISTRO SACADO Y
// SON CORRECTOS
Solicitud solicitud =
new Solicitud (
resultSet.getString (1), resultSet.getDate (2), resultSet.getString (3),
resultSet.getString (4), resultSet.getString (5), resultSet.getString (6),
resultSet.getDate (7), resultSet.getTime (8), resultSet.getDate (9),
resultSet.getTime (10), resultSet.getString (11), resultSet.getString (12),
resultSet.getString (13), resultSet.getString (14), resultSet.getString (15),
resultSet.getString (16), resultSet.getString (17), resultSet.getString (18), resultSet.getString (19),
resultSet.getString (20),resultSet.getString (21)
);
/* EL COCHINO PROBLEMA, AL MOMENTO DE EJECUTARSE EL ADD DEL
ARRAYLIST SOLICITUDES, LOS REGISTROS ANTES INGRESADOS (SOLICITUD), CAMBIAN SUS VALORES POR LOS DEL ULTIMO EN ADDICIONAR, (se que los objetos no pueden cambiar sus atributos privados asi como asi; cuando digo que cambian es porque los datos que se muestran asi lo hacen parecer; mas bien el problema es como de, -no se si en java pasa, soy nuevo en esto-, direccion de memoria, tal vez el item de indice [x], es demasiado grande y el dato leido esta apuntado mal o algo por el estilo, -repito soy nuevo en esto-*/

solicitudes.add (solicitud);

// en esta parte, leí el objeto ultimo en addicionar y el objeto ultimo-1, y obtuve :
/* (ultimo-1) 000x 2 2 2 //este cambio todo excepto el codigo
* (ultimo) 000y 2 2 2
* // y se repite el error cada vez que se addiciona uno
*/
}
preparedStatement.close ();
}
catch (SQLException e) {
System.out.println (e.getMessage ());
return null;
}
this.TDB.releaseConnection ();
return solicitudes;
}

--------------------------------------------------------------------------------

ArrayList solicitudes (lo que devuelve la funcion)
------------------------------------------------
Cod dato1 dato2 dato3
001 4 4 4
002 4 4 4
003 4 4 4
004 4 4 4

Gracias en verdad gracias, si puede ayudarme mil gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar