Ver Mensaje Individual
  #10 (permalink)  
Antiguo 15/04/2009, 03:43
Pelirr
 
Fecha de Ingreso: diciembre-2008
Mensajes: 233
Antigüedad: 16 años
Puntos: 1
Respuesta: error Unknown column '' in 'where clause'

Hola, el caso es que ya lo he cambiado y me sigue saliendo el mismo error. Te mando el código del Dao cambiado:


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;
}


Y me sigue saliendo el mismo error:

...
11:36:42,671 INFO [STDOUT] Se va a ejecutar de la BBDD la orden: SELECT * FROM ACCOUNTS WHERE NIF = '02A'
11:36:42,671 INFO [STDOUT] Datos de la cuenta: Account 18, Office 1111, Nif of client 02A, Date of Creation 2009-04-13 10:02:00, Type of account Cuenta Corriente, key of account 12
11:36:42,687 INFO [STDOUT] Se va a ejecutar en la BBDD la orden: SELECT * FROM ACCOUNTS WHERE NIF = 02A
11:36:42,687 ERROR [STDERR] java.sql.SQLException: Unknown column '02A' in 'where clause'
11:36:42,687 ERROR [STDERR] at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.ja va:2001)
11:36:42,687 ERROR [STDERR] at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:11 68)
...

He probado a limpiar el proyecto, en la pestaña Proyect -> Clean de eclipse, pero sigue igual. Ya no sé que hacer, ni porqué me funciona con números y con letras en el nif no. Un saludo