![]() |
Defaultexpression en TField
Hola, estoy intentando introducir un valor por defecto en un campo de un TIBTable trabajando con Firebird 2.1 y en principio con valores fijos no tengo problema, pero ¿ sabria alguien decirme como podria poner la fecha actual por defecto ?. Parece ser que las IBX no pueden capturar el valor por defecto desde la asignación realizada al crear las tablas en la base de datos. Con SQL directo va bien pero con un TIBTable no lo consigo.:confused:
|
Hola...
Como le recomiendo a todos, si estás trabajando en Firebird/Interbase o cualquier otro tipo de base de datos Cliente/Servidor, es mejor usas componentes del tipo dataset y/o query. Esto es, evita usar TIBTable y empieza a usar los TIBDataSet y los TIBQuery. Sobre tu duda, puedes usar el evento OnNewRecord del TIBTable para asignar valores predeterminados a tus campos:
Saludos... |
Evidentemente una consulta es mejor que un TIBTable pero en este caso lo necesito hacer así. Lo de ponerlo en el evento al crear el registro es evidente y es precisamente lo que quiero evitar, el escribir código ya que se supone que si al crear una tabla se le asigna un valor por defecto no es para tener que repetirlo cada vez que se crea un registro. Gracias de todas formas por tu interes.
|
Ya he encontrado una forma aunque no es la mas elegante pero funciona, asigno el valor de la fecha actual a tabla.campo.defaultexpression:=fecha actual , antes de abrir el TIBTable.
|
Resp
Es la esructura de la bd por que no le asignas un valor por defecto al campo
Campo ... default current_date |
El problema es de delphi, en la bd esta claro que se puede hacer sin problemas pero no se transmite al campo del tibtable. De todas maneras ya lo tengo solucionado. Gracias.
|
y ¿cómo lo has solucionado?
Según mis pruebas, llego a lo mismo que lcsoft: - En la BBDD asigno un valor por defecto. - En delphi, al crear un nuevo registro no se detecta ese valor. Saludos |
Pues antes de comenzar a trabajar ejecuto una consulta sobre la bd (tabla RDB$RELATION_FIELDS) y miro los campos que tiene algún contenido en el campo de valor por defecto y lo asigno manualmente a los campos de las distintas IBTable correspondientes (teniendo en cuenta que se guardan en formato RTF), así te puedes despreocupar y cada vez que se indique un nuevo valor por defecto se asignará automaticamente.
|
| La franja horaria es GMT +2. Ahora son las 00:50:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi