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 21-09-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
No me deja asignar null a un campo numérico.

Saludos al foro.

Tengo un problemilla con una Bd de Firebird 2.0: tengo un campo declarado como numeric (14,2) con la propiedad not null no activada, y cuando trato de hacer

campo.value:=null

me salta un mensaje de error donde me dice que no puede convertir un dato del tipo variant (null) en double.

En el uses tengo variants y uso D7.

Ahora mismo lo he solucionado dejando sin asignar dicho campo. Por ejemplo, supongamos que en una tabla tengo tres campos: campo, campo1 y campo2 (el que quiero poner a null es campo). Hago lo siguiente:

campo1.value:=xxx
campo2.value:=yyy
db.post;

Esto me deja vacío (sin ningún valor) el campo ¿es esto lo mismo que asignarle null?
Pero aún así, ¿alguna idea de por qué no me deja asignar el valor null?

Gracias.
Responder Con Cita
  #2  
Antiguo 21-09-2008
Avatar de RolphyReyes
RolphyReyes RolphyReyes is offline
Miembro
 
Registrado: ago 2004
Ubicación: Santo Domingo
Posts: 285
Poder: 20
RolphyReyes Va por buen camino
Smile

Saludos.

Prueba a poner:
Código Delphi [-]
TablaCampo1.AsVariant := Null;

Nos avisa como te fue!
__________________
Gracias,
Rolphy Reyes
Responder Con Cita
  #3  
Antiguo 21-09-2008
Avatar de RONPABLO
[RONPABLO] RONPABLO is offline
Miembro Premium
 
Registrado: oct 2004
Posts: 1.514
Poder: 21
RONPABLO Va por buen camino
Cita:
Saludos al foro.

Tengo un problemilla con una Bd de Firebird 2.0: tengo un campo declarado como numeric (14,2) con la propiedad not null no activada, y cuando trato de hacer

campo.value:=null

me salta un mensaje de error donde me dice que no puede convertir un dato del tipo variant (null) en double.

En el uses tengo variants y uso D7.

Ahora mismo lo he solucionado dejando sin asignar dicho campo. Por ejemplo, supongamos que en una tabla tengo tres campos: campo, campo1 y campo2 (el que quiero poner a null es campo). Hago lo siguiente:

campo1.value:=xxx
campo2.value:=yyy
db.post;

Esto me deja vacío (sin ningún valor) el campo ¿es esto lo mismo que asignarle null?
Pero aún así, ¿alguna idea de por qué no me deja asignar el valor null?

Gracias.
Con esa solución podrás tener un problema al momento que asignes un valor a campo3, ya que el próximo que quieras ponerlee el valor null tomará el último valor asignado... para dejar 100% seguro que esta null usa la clear.

Código Delphi [-]
campo1.value:=xxx;
  campo2.value:=yyy;
     campo3.value:=zzz;
   db.post;

campo1.value:=x1xx;
  campo2.value:=y1yy;
     campo3.clear;               //aquí dejas el campo3 con valor null
   db.post;
__________________
"Como pasa el tiempo..... ayer se escribe sin H y hoy con H"
Responder Con Cita
  #4  
Antiguo 21-09-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Funciona

Gracias Rolphy, funciona perfectamente.

He descubierto que produce el mismo resultado que dejar el campo sin asignar (lo que hacía yo antes, como indicaba en mi primer comentario).

Un saludo.
Responder Con Cita
  #5  
Antiguo 21-09-2008
Angel Fernández Angel Fernández is offline
Miembro
 
Registrado: may 2004
Ubicación: Valencia - España
Posts: 141
Poder: 20
Angel Fernández Va por buen camino
Justo cuando puse mi anterior comentario me dí cuenta del hilo de Ronpablo.

Gracias también por tu ayuda. Haciendo caso de lo que dices, usaré lo expuesto por Rolphy que sí que funciona. También funciona lo de campo.clear.
En definitiva, cualquiera de estas dos cosas.

Gracias de nuevo.

Un saludo.
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
cambiar campo null a not null andressanchez Firebird e Interbase 8 18-09-2006 22:00:09
Exite función para asignar otro valor si es null JavierO Varios 6 04-08-2005 18:22:56
Relacion campo numérico vs campo string JorgeBec Varios 1 11-04-2005 18:26:51
Campo numerico silviodp Conexión con bases de datos 1 09-06-2004 23:42:51
Incrementacion de un campo numerico simon Conexión con bases de datos 2 03-06-2004 17:38:15


La franja horaria es GMT +2. Ahora son las 10:00:45.


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