Mmh, von meinem
MSSQL Server bekomme ich mit dem folgenden
SQL Statement immer 0 zurück, obwohl für den Zeitraum ein Datensatz vorhanden ist. Kann das daran liegen das FromHour und ToHour in der
DB als DateTime Datentyp deklariert sind?
Sieht für mich sonst ganz gut aus
Delphi-Quellcode:
ADOQuery.SQL.Text :='SELECT COUNT(*) as DataExists FROM TB_AM_Hours WHERE' +
' ((:FromHour BETWEEN FromHour and ToHour) ' +
' or ' +
' (:ToHour BETWEEN FromHour and ToHour))' +
' and FK_UserID = :FK_UserID '+
' and FK_ProgramID = :FK_ProgramID ' +
' and Date = :Date ;';
ADOQuery.Parameters.ParamByName('FK_UserID').Value := 1
ADOQuery.Parameters.ParamByName('FK_ProgramID').Value := 1;
ADOQuery.Parameters.ParamByName('Date').Value := ActualDate;
ADOQuery.Parameters.ParamByName('FromHour').Value := FromTime.Time;
ADOQuery.Parameters.ParamByName('ToHour').Value := ToTime.time;
ADOQuery.Open;
if ADOQuery.FindField('DataExists').AsInteger > 0 then
begin
showmessage('Zeitraum belegt!');
end;
MfG
Marcus