Einzelnen Beitrag anzeigen

Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#8

Re: Zeiterfassung in DB, generelle Vorgehensweise?

  Alt 12. Okt 2007, 10:19
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
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat