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 19-09-2005
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
Valores predeterminados en firebird 1.5

Hola amigos del club, aqui les tengo una pregunta sobre este tema, en una tabla de cuentas bancaria, puse algunos campos predeterminados, cuando inserto desde delphi 7 solo contemplo los campos que no estan determinados y me da error dice que requiere estos campos que tienen valores predeterminados en la base de datos.

Por que no me deja? o como lo hacen ustede?

Nota: uso componentes IBX, IBTABLE Y IBQUERY.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #2  
Antiguo 19-09-2005
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola.
¿Podrias dar algun detalle mas, como por ejemplo tipo de datos, valor por defecto etc?
Saludos
Responder Con Cita
  #3  
Antiguo 19-09-2005
ronimaxh ronimaxh is offline
Miembro
 
Registrado: jun 2003
Ubicación: Rep. Dominicana
Posts: 307
Poder: 21
ronimaxh Va por buen camino
en la db pongo esto tipo campo1 varchar (10)
valor prederminado '0000000000', cuando hago un ejemplo desde IB Expert en la misma db inserto manualmente y asume los valores predeterminados, pero desde delphi no.
__________________
ronimaxh
Rep. Dominicana
Responder Con Cita
  #4  
Antiguo 19-09-2005
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola de nuevo.
Efectivamente los IBX no asumen el default value señalado en la definicion del campo.
No me preguntes porque. La verdad es que no lo se.
Solo te puedo decir que la combinacación IBX y Firebird te puede dar algun dolor de cabeza que otro.
Mi recomendación es que para trabajar con Firebird utilices otros componentes. En mi caso son los FibPlus y no hay ni rastro del problema que planteas.
Saludos
Responder Con Cita
  #5  
Antiguo 20-09-2005
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 377
Poder: 21
lbuelvas Va por buen camino
Hola familia,

Lo que sucede es que la definicion de valores por defecto es un asunto de la base de datos, no del programa en delphi. El valor por defecto sirve para que cuando se lance un insert y el campo tiene un valor nulo el motor de base de datos coloca el valor que esta definido por defecto. Pero tengan en cuenta que el hecho de lanzar el metodo insert en Delphi simplemente indica que estamos preparando los datos del registro y solo hasta lanzar el metodo post es cuando los datos se envian al servidor.

Te recomiendo que coloques en falso la propiedad "required" del campo (en el TIBDataset). Esto lo que hara es que si no mandas valor al campo, el motor coloca el valor por defecto y listo.

Si lo que quieres es que cuando ejecutes el metodo Insert del TIBDataset te aparezca un valor por defecto en el campo, utiliza el metodo onNewRecord un codigo similar a:

Dataset.FieldbyName('TU_CAMPO').Value := TU_VALOR_POR_DEFECTO;

Muchos exitos
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #6  
Antiguo 20-09-2005
Avatar de kalimero
kalimero kalimero is offline
Miembro
 
Registrado: may 2003
Ubicación: Alicante
Posts: 288
Poder: 21
kalimero Va por buen camino
Hola.
El poner a "False" la propiedad required del campo persistente no soluciona el problema.
No se internamente que es lo que hacen los componentes IBX. Lo cierto es que el motor de base de datos no se entera de que tiene que poner un valor por defecto. Sin embargo esto no sucede con otro tipo de componentes de acceso a Firebird, donde todos aquellos campos en los que está definido un "default value", este se inserta sin ningún tipo de problema.
Saludos
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


La franja horaria es GMT +2. Ahora son las 13:08:00.


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