![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#11
|
|||
|
|||
|
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! ![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|