La Web del Programador: Comunidad de Programadores
 
    Pregunta:  29047 - BORRAR UNA FECHA DE LA BASE DE DATOS
Autor:  Michelle MM
Mi consulta es la siguiente:
Tengo un programa en Delphi 1.0 el cual graba cierta información a una Base de datos (DBase IV), entre los registros existe un campo fecha de cierre. Para grabarlo utilizo una Ttable, con las tipicas instrucciones open, append, post y close. Si quiero modificar un registro, utilizo la instrucción:

sql.clear;
sql.add('update Tabla1 set fecha=:fechanueva where rut_emp=:rut');
params.parambyname('rut').asstring:=edit1.text;
{{{{{{params.parambyname('fechanueva').asdatetime:= ???????}}}}}}}
execsql;

Puede que en algun momento este campo fecha tenga una fecha valida como 18/02/2002, pero necesito dejar el campo en blanco y no sé como dejarlo vacío si ya tiene una fecha... ¿alguien me puede ayudar?.. Gracias

  Respuesta:  Arnaldo Gabriel Ayala Meyer
Si comprendo el problema, usted tiene datos en una tabla (que son de tipo fecha) a los cuales quiere asignar el valor null.

Veo dos alternativas:

1. (Sucia, por cierto), correr la siguiente actualización:

sql.clear();
sql.add ('Update Tabla1 set fecha = null where rut_emp = :rut');
params.parambyname('rut').asstring := edit1.text;

2. (La que creo que necesita), hacer que el valor del parámetro sea null:

params.parambyname('fechanueva').clear();
params.parambyname('fechanueva').bound = false;

(*No tengo certeza de que esto funcione en Delphi 1.0, espero que sí, la versión que utilizo es la 3.0*)