Hola, tengo un error que no comprendo, a ver si alguien me puede ayudar. Yo tengo una bbdd en mysql, con 4 tablas, una de ellas es una tabla de cuentas donde uno de los campos es el nif del cliente. Al intentar dar de baja uno de los clientes, y las cuentas que tenga ese cliente también darlas de baja, me da este error. He intentado depurar errores, y al hacerlo, parece que el error está en el siguiente código (que es el método que utilizo para borrar), pero no comprendo porqué:
public ArrayList<accountsDto> ReadByNif (accountsDto accountsdto, String campo) throws SQLException
{
Statement stmt;
ResultSet rs;
Connection con = DriverManager.getConnection(url,login,password);
stmt = con.createStatement();
String orden = "SELECT * FROM ACCOUNTS WHERE NIF = '"+accountsdto.getNif()+"'";
System.out.println("Se va a ejecutar en la BBDD la orden: "+orden);
rs=stmt.executeQuery(orden);
ArrayList <accountsDto> accountsCollection = new ArrayList <accountsDto> ();
while (rs.next())
{
accountsDto account = new accountsDto();
account.setAccountnumber(rs.getInt("ACCOUNTNUMBER" ));
account.setOffice(rs.getInt("OFFICE"));
account.setNif(rs.getString("NIF"));
account.setCreationdate(rs.getString("CREATIONDATE "));
account.setAccounttype(rs.getString("ACCOUNTTYPE") );
account.setAccountkey(rs.getInt("ACCOUNTKEY"));
System.out.println ("Datos de la cuenta: Account "+account.getAccountnumber()+", Office "+
account.getOffice()+", Nif of client "+account.getNif()+", Date of Creation "+
account.getCreationdate()+", Type of account "+account.getAccounttype()+
", key of account "+account.getAccountkey());
accountsCollection.add(account);
}
con.close();
return accountsCollection;
}
Se queda en el System.out..., no llega al " rs=stmt.executeQuery(orden);". Antes de llamar a éste método, hago otra consulta en la misma tabla con un SELECT para comprobar que hay alguna cuenta con ese nif, y la consulta la hace bien, pero al llegar aquí se para, y me dá este error, no devuelve nada y me termina dando el error " java.lang.NullPointerException". Pero la consulta es correcta, ¿no es así? Y lo más raro de todo, este error se produce cuando el nif por el que consulto es con letras (ej. 01A), si es sólo numeros (ej. 0111111) no tengo error. En la base de datos el nif está definido como un campo de texto. ¿Puede alguien decirme porqué me dá este error?
Muchas gracias, y un saludo