du solltest deine abfrage optimieren, indem du nur datensätze holst die du brauchst, also asset_id=caid!
Delphi-Quellcode:
// auslesen tabelle asset_data
c:=0;
dataexist:=false;
DM.ZQ.SQL.Clear;
DM.ZQ.SQL.add('SELECT * FROM ASSET_DATA');
DM.ZQ.SQL.add('where ASSET_ID='+inttostr(caid)); // vorselektieren!
DM.ZQ.Open;
if not DM.ZQ.Eof then
DM.ZQ.First
else
exit; // keine daten vorhanden
while not DM.ZQ.Eof do
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];
DM.ZQ.Next;
end;
end; //if dataexist