How to send NULL values with TMyConnection.ExecProc or TCustomMyStoreProc.Execute ?
Code: Select all
CREATE DEFINER = 'Steph'@'%' FUNCTION `DetermineNouvelleDate`(
DateARecalculer DATETIME,
HeureBasculement TIME,
CompterSamediFerie BOOLEAN
)
RETURNS datetime
NOT DETERMINISTIC
CONTAINS SQL
SQL SECURITY DEFINER
COMMENT ''
BEGIN
Set HeureBasculement = IFNull(HeureBasculement,'12:00:00');
Set DateARecalculer = IFNull(DateARecalculer,now());
Set CompterSamediFerie = IFNull(CompterSamediFerie,False);
/* CODE PARTS REMOVED */
RETURN DateARecalculer;
END;TMyConnection.ExecPRoc return '1899-12-30'
Code: Select all
AMyConnection.ExecProc('DetermineNouvelleDate',[Null,'12:00:00',True]) ;
or
AMyConnection.ExecProc('DetermineNouvelleDate',[NullDate,'12:00:00',True]) ;
Code: Select all
Sp:=TMyStoredProc.Create(nil);
Try
Sp.Connection:= AMyConnection;
Sp.StoredProcName :='DetermineNouvelleDate';
Sp.ParamByName('DateARecalculer').clear;
Sp.ParamByName('HeureBasculement').astime:=AHeureBascule;
Sp.ParamByName('CompterSamediFerie').AsBoolean:=ACompterSamediFerie;
Sp.Execute;
Result := Sp.ParamByName('Result').AsDateTime;
Finally
Sp.Free
End;