PDA

Ver la Versión Completa : Problema en Firebird con dialecto 3


Leonidas
24-07-2004, 04:27:03
Hola a todos:

Estoy haciendo una prueba en Delphi 7 Professional con Firebird 1.5 RC9 bajo plataforma Windows 2000.

La prueba consiste en poder cambiar o ingresar datos en un Query el cual tiene la propiedad RequestLive=True, utilizando una rejilla de datos, una barra de navegacion, un datasource y logicamente el Query.

El Query tiene el script "Select * from prueba". La tabla "prueba" tiene dos campos tipo Smallint y un campo tipo Integer.

Utilizando una base de datos con dialecto 1 funciona bien la prueba al abrir el Query.

Utilizando otra base de datos con dialecto 3 me da el error:
"Table does not exist". Si al Query le coloco luego RequestLive=False se muestran los datos en la rejilla perfectamente, pero como lo que quiero es actualizar este query a través de la rejilla este último ejemplo no me sirve.

Es de anotar que ambas bases de datos no tiene la propiedad "Read only" habilitada.

Alguien me puede colaborar en indicarme a qué se debe este error?
De antemano muchas gracias por las respuestas.

Atentamente,

Leonidas

jachguate
24-07-2004, 07:43:35
En el dialecto 1 los nombres de los objetos de la base de datos se encuentran siempre en mayúsculas.

En el dialecto 3, si has creado algún objeto encerrando su nombre entre comillas dobles, se usará la mezcla de mayúsculas y minúsculas usada.

Si has hecho:


Create table "MiTabLa" bla, bla;


Luego has de hacer:


Select *
from "MiTabLa"


Si no incluis las comillas dobles, el sistema sigue actuando como en el dialecto 1, es decir, convirtiendolo primero a mayúsculas.

Si has creado las tablas con IBExpert, en dialecto 3, este encierra todo entre comillas. Ojo que esto también es aplicable a los nombres de los campos.

Hasta luego.

;)