Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-11-2008
icsoft icsoft is offline
Registrado
 
Registrado: ene 2008
Posts: 7
Poder: 0
icsoft Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 27-11-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 24
maeyanes Va por buen camino
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:

Código Delphi [-]
procedure TForm1.IBTable1NewRecord(DataSet: TDataSet);
begin
  IBTable1CampoFecha.Value := Now;
  // O si no son campos persistentes
  IBTable1.FieldByName('CampoFecha').AsDateTime := Now
end;



Saludos...
Responder Con Cita
  #3  
Antiguo 27-11-2008
icsoft icsoft is offline
Registrado
 
Registrado: ene 2008
Posts: 7
Poder: 0
icsoft Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 27-11-2008
icsoft icsoft is offline
Registrado
 
Registrado: ene 2008
Posts: 7
Poder: 0
icsoft Va por buen camino
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.
Responder Con Cita
  #5  
Antiguo 28-11-2008
Avatar de rastafarey
rastafarey rastafarey is offline
Miembro
 
Registrado: nov 2003
Posts: 927
Poder: 21
rastafarey Va por buen camino
Resp

Es la esructura de la bd por que no le asignas un valor por defecto al campo

Campo ... default current_date
__________________
Todo se puede, que no exista la tecnología aun, es otra cosa.
Responder Con Cita
  #6  
Antiguo 28-11-2008
icsoft icsoft is offline
Registrado
 
Registrado: ene 2008
Posts: 7
Poder: 0
icsoft Va por buen camino
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.
Responder Con Cita
  #7  
Antiguo 28-11-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
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
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 01-12-2008
icsoft icsoft is offline
Registrado
 
Registrado: ene 2008
Posts: 7
Poder: 0
icsoft Va por buen camino
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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
TField Fitoperu Varios 1 18-09-2007 19:19:37
problema al validar un TField Er_Manué Conexión con bases de datos 2 26-11-2004 17:10:01
Convertir un Tfield a String Ricsato Varios 2 14-09-2004 19:51:50
Añadir propiedades a TField altp OOP 12 03-10-2003 04:06:37
Problema con un TField AS TFloatFiled champy Conexión con bases de datos 0 07-09-2003 13:04:36


La franja horaria es GMT +2. Ahora son las 22:23:12.


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
Copyright 1996-2007 Club Delphi