delphi从数据库读取出数据赋值给stringgrid速度慢,该如何处理
delphi从数据库读取出数据赋值给stringgrid速度慢
创建300列 100行的stringgrid 如果不从数据库中读 直接赋值 也就是
row := 0;
for i:= 0 to stringgrid1.colcount - 1 do
begin
stringgrid.cells[i, row] := 's';
row:= row + 1;
end;
这样的话特别快。但是如果我先读取数据库 也就是
qry1.SQL.Text := 'select * from ttemp';
qry1.Open;
row := 1;
qry1.First;
while not qry1.Eof do
begin
for i := 0 to strngrd1.ColCount - 1 do
strngrd1.Cells[i, row] := qry1.fieldbyname('col' + IntToStr(i )).AsString;
Inc(row);
qry1.Next;
end;
就特别的慢 100行数据要8秒钟呢 求帮助啊
------解决思路----------------------
这个两个遍历当然慢啦,而且都是filebyname函数 估计也要耗时,坐等高人解答吧
创建300列 100行的stringgrid 如果不从数据库中读 直接赋值 也就是
row := 0;
for i:= 0 to stringgrid1.colcount - 1 do
begin
stringgrid.cells[i, row] := 's';
row:= row + 1;
end;
这样的话特别快。但是如果我先读取数据库 也就是
qry1.SQL.Text := 'select * from ttemp';
qry1.Open;
row := 1;
qry1.First;
while not qry1.Eof do
begin
for i := 0 to strngrd1.ColCount - 1 do
strngrd1.Cells[i, row] := qry1.fieldbyname('col' + IntToStr(i )).AsString;
Inc(row);
qry1.Next;
end;
就特别的慢 100行数据要8秒钟呢 求帮助啊
------解决思路----------------------
这个两个遍历当然慢啦,而且都是filebyname函数 估计也要耗时,坐等高人解答吧