Tenes razon, perdon, aca esta la clase IncidenciasBD:
Código:
package com.mercosuronline.accesoabase;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class IncidenciasBD {
private String idCliente;
private boolean valido = false;
private boolean hayError = false;
ResultSet resultado = null;
private boolean ejecutarConsulta() throws SQLException{
boolean existe = false;
Connection coneccion = null;
PreparedStatement sentencia = null;
String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
String URL = "jdbc:derby:e:\\Usuarios";
String QUERY = "SELECT * FROM AGUSTIN.INCIDENCIAS WHERE ID_CLIENTE = ? ORDER BY NRO_INCIDENCIA DESC";
try{
System.out.println("Iniciando DRIVER "+DRIVER+"...");
Class.forName(DRIVER);
System.out.println("Driver iniciado - Conectando a URL "+URL+"...");
coneccion = DriverManager.getConnection(URL);
coneccion.setAutoCommit(false);
System.out.println("Coneccion exitosa - Iniciando QUERY "+QUERY+"...");
sentencia = coneccion.prepareStatement(QUERY);
System.out.println("QUERY preparado - Seteando OBJECT consultaCuit "+idCliente+"...");
sentencia.setString(1, idCliente);
System.out.println("Ejecutando sentencia "+QUERY+"...");
resultado = sentencia.executeQuery();
System.out.println("Sentencia "+QUERY+" ejecutada exitosamente.");
if(resultado.next()){
//si encontro
existe = true;
} else {
existe = false;
}
} catch (Exception e){
e.printStackTrace();
} finally {
if(resultado != null) resultado.close();
if(sentencia != null) sentencia.close();
if(coneccion != null) coneccion.close();
}
return (existe);
}
//getters y setters
public String getIdCliente(){
return idCliente;
}
public void setIdCliente(String c){
idCliente = c;
}
public boolean isValid(){
if(valido) return true;
try{
valido = ejecutarConsulta();
hayError = false;
}catch(Exception e){
valido = false;
hayError = true;
}
return valido;
}
public boolean isError(){
return hayError;
}
public void limpiarConsulta(){
idCliente = null;
valido = false;
}
public ResultSet getResultado() {
return resultado;
}
}
Ahora si,
getResultado() devuelve el ResultSet '
resultado', el cual se carga con la consulta al llamar a
isValid(), que a su vez llama a
ejecutarConsulta() y carga a '
resultado' en la linea '
resultado = sentencia.executeQuery();'
Estoy bien no? Donde esta la falla?