hallo,
also folgendes problem... ich lese aus einer tabelle im moment 6500 datensaetze...
jeder datensatz ist eine zeile mit ; getrennter daten, welche ich dann in ein topgrid schreibe...
mein programm verwaltet projekte die alle solche daten enthalten koennen, wenn ich nun ein projekt mit 6500 daten anzeigen will, dauert es recht lang, wechsle ich aber zu einem projekt mit gar keinen oder wenig daten dauert es immer noch lang,
verlangsamt sich der datenzugriff oder sonst was, je mehr daten in meiner
db stehen, weshalb? habe ich wenig daten in meiner
db, geht der wechsel zwischen den projekten schnell... hat wer ne idee?
so lese ich aus und schreibe ins grid
Delphi-Quellcode:
// auslesen tabelle asset_data
c:=0;
dataexist:=false;
DM.ZQ.SQL.Clear;
DM.ZQ.SQL.add('SELECT * FROM ASSET_DATA;');
DM.ZQ.Open;
DM.ZQ.First;
while not DM.ZQ.Eof do
begin
if caid = DM.ZQ.Fieldbyname('ASSET_ID').asinteger then
begin
dataexist:=true;
break;
end;
dm.ZQ.Next;
end; //while
if dataexist then
begin
DM.ZQ.First;
while not DM.ZQ.Eof do
begin
if caid = DM.ZQ.Fieldbyname('ASSET_ID').asinteger then
begin
c:=c+1;
grd_asset.Rows:=grd_asset.Rows+1;
s:= DM.ZQ.Fieldbyname('DATA').asString;
templist:=Tstringlist.create;
templist.Delimiter:=';';
templist.DelimitedText:=s;
if c = 1 then grd_asset.Cols:=templist.Count;
for i:=1 to templist.Count do
grd_asset.Cell[i,c]:=templist.Strings[i-1];
end;
DM.ZQ.Next;
end;
end; //if dataexist