PDA

Ver la Versión Completa : Comillas en SelectSQL (IBDataSet)


oliverinf
03-09-2004, 01:18:33
Hola a todos, alguien sabe porque tengo que encerrar entre comillas los nombres de las tablas y campos en las sentecias SQL de un IBDataSet (IBX). ¿Será porque en el script de la base de datos tengo las comillas?
He visto código de una aplicación que usa una los IBDataSet y no tiene comillas en dichas sentencias y funciona.

Desde ya muchas gracias.

Guillermo

jachguate
03-09-2004, 01:19:46
Tenes que usar comillas solo si has nombrado tablas o columnas con minúsculas o combinaciones de mayúsculas minúsculas, ya que al no usar comillas, todo se convierte a mayúsculas.

Su uso, claro, no es obligatorio. A veces es necesario, eso si.

Saludos.

;)

Mick
03-09-2004, 22:16:40
Es necesario utilizar siempre las comillas, si no se sabe a priori el nombre de los campos de las tablas.
Por ejemplo si creas una tabla con un campo que se llame TYPE y le quitas las comillas en el TIBDataset, veras que el servidor de base de datos dara errores por todos los lados.
Esto es debido a que TYPE es una palabra reservada del lenguaje, de modo que si no pones las "" para indicar que te refieres al nombre del campo, el servidor no admitiria las queries ya que daria errores de sintaxis. Interbase te dira que type es una palabra reservada y generara una excepcion.
Con tablas propias y utilizando nombres de campos en español es dificil que de algun error, pero para quien utiliza el ingles, es muy facil que cualquier nombre de campo coincida con alguna de las muchas palabras reservadas del lenguaje.

Saludos

oliverinf
03-09-2004, 23:13:52
Efectivamente, tenía nombres de tablas y de campos que contenían letras minúsculas.
Cambié todo a mayúsculas y ahora no necesito colocar las comillas.

Muchas gracias.