delphi从数据库读取出数据赋值给stringgrid速度慢

sun068350 2015-03-04 09:39:53
创建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秒钟呢 求帮助啊
...全文
214 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
hongss 2015-03-05
  • 打赏
  • 举报
回复
边读边显示影响速度的话,可以把两个遍历分开,先把数据读到内存,然后一次显示出来
smhilyyan 2015-03-04
  • 打赏
  • 举报
回复
这个两个遍历当然慢啦,而且都是filebyname函数 估计也要耗时,坐等高人解答吧

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧