我有一段代码,要根据不同的状态在drawgrid中显示不同的图片,但是如果连接数据库时,只显示第一行,不连则可以显示全部,而且,系统还没有反应,为什么呢?希望大家能帮我解答一下。
代码如下:
var
bmp:TBitmap;
i,j:integer;
begin
bmp:=TBitmap.Create;
bmp.LoadFromFile('D:\PIC\1.bmp'); //装入图像
for i:=0 to drawgrid1.RowCount-1 do
for j:=0 to drawgrid1.ColCount-1 do
begin ADoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select wms_loc_status from wms_loc_mst where wms_row=:row and wms_col=:col');
adoquery1.Parameters.ParamByName('row').Value:=i+1;
adoquery1.Parameters.ParamByName('col').Value:=j+1;
if not adoquery1.Prepared then adoquery1.Prepared;
// adoquery1.Open; rect:=drawgrid1.CellRect(j,i);
//if adoquery1.FieldByName('wms_loc_status').AsString='空货位' then
drawgrid1.Canvas.Draw(rect.Left,rect.Top,bmp); //在每个单元格中画出
end;
end;谢谢大家
代码如下:
var
bmp:TBitmap;
i,j:integer;
begin
bmp:=TBitmap.Create;
bmp.LoadFromFile('D:\PIC\1.bmp'); //装入图像
for i:=0 to drawgrid1.RowCount-1 do
for j:=0 to drawgrid1.ColCount-1 do
begin ADoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select wms_loc_status from wms_loc_mst where wms_row=:row and wms_col=:col');
adoquery1.Parameters.ParamByName('row').Value:=i+1;
adoquery1.Parameters.ParamByName('col').Value:=j+1;
if not adoquery1.Prepared then adoquery1.Prepared;
// adoquery1.Open; rect:=drawgrid1.CellRect(j,i);
//if adoquery1.FieldByName('wms_loc_status').AsString='空货位' then
drawgrid1.Canvas.Draw(rect.Left,rect.Top,bmp); //在每个单元格中画出
end;
end;谢谢大家
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货