Hallo
DB-Profis,
ich habe eine allgemeine Verständnisfrage, vielleicht kann sie ja beantwortet werden.
Für eine Kalender-Componente benötige ich eine 'wie auch immer' Datenbankanbindung.
Also eine
DataSource und ein
DataField.
Das dazu gehörige Event
DateChange sieht bisher so aus:
Delphi-Quellcode:
procedure TDBCalendarControl.DataChange(Sender: TObject);
var
DT : TDateTime;
Y1, Y2, M1, M2, D1, D2 : Word;
begin
if FDataLink.Field <> nil then
begin
if IsDateTimeField then
DT := Trunc(FDataLink.Field.AsDateTime)
else
DT := Trunc(FDataLink.Field.AsDateTime);
DecodeDate(DT, Y1, M1, D1);
DecodeDate(FDate, Y2, M2, D2);
if (Y1 = Y2) and (M1 = M2) then FDates[D1] := DT;
Invalidate;
end;
end;
FDates ist ein Array of TDateTime und wird bei jedem Monatswechsel auf 31 gesetzt.
In der procedure Paint erfolgt dann die Auswertung.
Ein 'Fehler' hat diese Vorgehensweise jedoch; Ich kann nur den aktuellen Datensatz auslesen.
Wie müsste ich also vorgehen um alle in Frage kommenden Werte auszulesen, ohne
auf die
DB speziell einzugehen?.
Gruss
Alter Mann