Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   "campos permanentes? (https://www.clubdelphi.com/foros/showthread.php?t=52587)

mjjj 24-01-2008 23:25:15

"campos permanentes?
 
hola... aer si me pueden despejar una duda...

Utilizo delphi 2006
En un TIBQuery cuando le asigno "campos permanentes" (así se llaman?)... al hacer doble click sobre el componente y le agrego campos.

Bueno no se como se llaman, pero a esos me refiero... asigno estos campos para poder cambiar la propiedad displayformat.

Bueno, la consulta es la siguiente...

Cuando tengo asignados estos tipos de campos, no puedo hacer una consulta a este query si es que no lo hago a todos los campos... me explico con un ejemplo

Código Delphi [-]
'Select * from Tabla'
... de esta manera funciona, pero di lo hago de esta otra forma:

Código Delphi [-]
'Select campo from tabla'
... me arroja un error de que no existe cierto campo en particular, no necesariamente por el que estas buscando

Porque ocurre esto?

Como lo puedo solucionar

Muchas gracias por su tiempo

Saludos

ContraVeneno 24-01-2008 23:46:10

Pues por lo que comentas, no hay otra opción mas que se te está escapando el nombre correcto del campo, si te dice que ese campo no existe, es porque no lo has incluido en la sentencia select. Y eso se confirma cuando dices que si haces un "Select *" si funciona.

Pues nada, estás asignando un campo que no esta incluido en el select.

Al Campo en tu TIBQuery le asignas "Cmapo" y el campo en la base de datos se llama "Campo".

jachguate 24-01-2008 23:54:42

Hola.

Se llaman campos persistentes.

Si los creas, cada consulta que hagas deberá contener por lo menos todos los campos que has definido como persistentes.

Si querés seleccionar unos u otros, dejá el DataSet sin campos persistentes y no tendrás problemas, pues se crearán los campos al momento que abras la consulta.

Si queres cambiar cualquiera de las propiedades de estos, por ejemplo, DisplayFormat, podes hacerlo de esta manera:

Código Delphi [-]
  Query1.SQL.Text := 'select campo1 from tabla';
  Query1.Open;
  Query1.FieldByName('campo1').DisplayFormat := ',#0.00';
  ....
  Query1.SQL.Text := 'select OtroCampo from OtraTabla';
  Query1.Open;
  Query1.FieldByName('OtroCampo').DisplayFormat := 'dd/mm/yyyy';

Hasta luego.

;)


La franja horaria es GMT +2. Ahora son las 13:43:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi