En firebird tengo un procedimiento almacenado:
Código SQL
[-]
CREATE PROCEDURE REGISTRAR (
mivariable smallint)
as
begin
// Aquí va mi código
end
Y si ejecuto este procedimiento con el IBExpert marcando "mivariable" como NULL pues no pasa nada.
En cambio en mi aplicación tengo el código:
Código Delphi
[-]
procedimiento.Clear;
procedimiento.ParamByName('mivariable').AsString := 3;
procedimiento.Prepare;
procedimiento.ExecProc;
Si en la segunda linea ponto 3, 4 o algún otro número mi base de datos se modifica correctamente, pero si no doy valor a ese parámetro o trato de ponerle a nulo me modifica la base de datos igual que si le paso un cero.