Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

 
 
Herramientas Buscar en Tema Desplegado
  #11  
Antiguo 24-06-2003
emili emili is offline
Miembro
 
Registrado: jun 2003
Ubicación: Ontinyent (Valencia)
Posts: 14
Poder: 0
emili Va por buen camino
Otra alternativa es tomar como política el no tener ningún campo integer o float en la BD con valor null.

Es decir, siempre que vamos a grabar podemos utilizar un procedimiento como este:


Nullsazero(Ttable(dataset)); // =Nullsazero(Tproveedores);


Procedure Nullsazero(Taula:Ttable);
var i:smallint;
begin
For i:=0 to taula.FieldCount-1 do
begin
If ((Taula.Fields[i].Datatype=ftfloat) and
(Taula.Fields[i].Isnull)) then
Taula.Fields[i].AsFloat:=0;
If (((Taula.Fields[i].Datatype=ftsmallint) or
(Taula.Fields[i].Datatype=ftinteger)) and
(Taula.Fields[i].Isnull)) then
Taula.Fields[i].AsInteger:=0;
end;
end;


Igual parece pesado cada vez tener que invocar al procedimiento, pero si tenemos la aplicación bien diseñada, podemos tener un "form base" de los que todos los otros heredan, y la invocación a NullsAZero solo la hará éste form base, y no lo tendremos que incluir en todos los forms que vamos creando.

Saludos!
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 22:33:23.


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