Ver Mensaje Individual
  #12  
Antiguo 31-10-2011
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Reputación: 23
salvica Va por buen camino
Hola de nuevo RONPABLO, te estoy dando la noche

Son dos cosas diferentes:
  • El error de excepción: Me lo dá cuando hago el Open en la ZQuery de ZeosDBO.
Si elimino a "mano" la tabla y en el código del programa quito la línea que comprueba la existencia de la tabla, el mismo ZQuery efectúa un CREATE TABLE mitabla sin problemas, con lo que (inicialmente), la conexión es correcta, el enlace del ZQuery con el ZConnection es correcto y el ZQuery trabaja como se espera.
  • Lo de las mayúsculas: Otro cantar, que no sé si es por el manejador FlameRobin que viene con Firebird o qué.
Por ejemplo, yo creo una tabla:
Código SQL [-]
    with ZQuery do begin
         SQL.Clear;
         SQL.Add( 'CREATE TABLE mitabla (' );
         SQL.Add( '       NUM_REG     INTEGER        NOT NULL,' );
         SQL.Add( '       ID_CLAVE    CHAR(8)        NOT NULL,' );
         SQL.Add( '       CORRECTO    CHAR(1)        DEFAULT ''0'' NOT NULL,' );
         SQL.Add( '       TEXTO       VARCHAR(80)'    );
         SQL.Add( ');' );
         SQL.SaveToFile( PathSql+'\SQL_CrearTabla_mitabla.sql');
         try
           ExecSQL;
         except
           SQL.SaveToFile( PathSql+'\ERROR_SQL_CrearTabla_mitabla.sql');
         end;
         Close; { cerrar la tabla por si queda abierta }
    end; { del with ZQuery do }

Esto funciona sin problemas , ahora voy al FlameRobin (gratis) o al SQL Maestro for Firebird (de pago, pero bastante bueno, yo lo uso con SQLite) y ejecuto la consulta
Código SQL [-]
SELECT COUNT(*) AS existe
  FROM rdb$relations
 WHERE rdb$relation_name = 'MITABLA'
El campo EXISTE vale UNO (1), ha encontrado la tabla creada.

Si cambio la consulta por:
Código SQL [-]
 SELECT COUNT(*) AS existe
   FROM rdb$relations
  WHERE rdb$relation_name = 'mitabla'
El campo EXISTE vale CERO (0), no ha encontrado la tabla creada.
Esto si que es un "rollo"

Saludos
salvica
Responder Con Cita