Danke an Euch Beiden
Ich will jetzt die Tage mit den Tagen meiner
DB vergleichen.
Die Tage die identisch sind sollen dann in die Listview rein.
Mein Ansatz:
Delphi-Quellcode:
var Days ,i,p: integer;
Date : TDatetime;
Dates :
array of string;
var Item: TListItem;
x: integer;
begin
///////////////////////////////////////////////////////////////////////////
/// Definitionen der Variablen
x := 0;
fehltage_view.Clear;
days:=(daysbetween(DateTimeVon.Datetime,DateTimeBis.Datetime ));
date := DateTimeVon.Datetime;
setlength(dates,days+1);
for i := 0
to days
do
begin
dates[i] := datetostr(date) ;
date:= (incday(date, 1));
end;
for p := 0
to days
do
begin
x := x +1;
///////////////////////////////////////////////////////////////////////////
/// DB Fehltage öffnen
ADOQuery1.SQL.Text := '
SELECT * FROM `Fehltage` WHERE `Datum` = ''
'+Dates[p]+'
''
;';
ADOQuery1.Open;
///////////////////////////////////////////////////////////////////////////
/// Werte der DB in ListView hinzufügen, wenn vorhanden.
Item := Listview.Items.Add;
Item.Caption := IntToStr(x) + '
.';
Item.SubItems.Add(ADOQuery1.FieldByName('
Tag').Value);
Item.SubItems.Add(ADOQuery1.FieldByName('
Datum').Value);
end;
end;
So kommpt aber folgende Fehlermeldung wenn der eines der Tage im Array nicht in der
DB vorhanden ist:
Zitat:
---------------------------
Benachrichtigung über Debugger-
Exception
---------------------------
Im Projekt Valho_Student.exe ist eine
Exception der Klasse EVariantTypeCastError mit der Meldung 'Variante des Typs (Null) konnte nicht in Typ (OleStr) konvertiert werden' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------