大家帮我看看哪里出问题了 image1.Canvas.TextOut(x ,y,name)没有输出,x,y,name好象都没取到值
procedure TForm3.Button1Click(Sender: TObject);
vari:integer;
name:string;
x:integer;
y:integer;
di:integer;begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select max(id) as id from ip.db ');
query1.Open;
di:=query1.fieldbyname('id').AsInteger; for i:=0 to di do
begin query2.Close;
query2.SQL.Clear;
query2.SQL.Add('select * from ip.db where id=''i''');
query2.Open;
name:=query2.fieldbyname('名称').AsString;
x:= query2.fieldbyname('x').AsInteger;
y:=query2.fieldbyname('y').AsInteger;
image1.Canvas.TextOut(x ,y,name);
end;
end;
procedure TForm3.Button1Click(Sender: TObject);
vari:integer;
name:string;
x:integer;
y:integer;
di:integer;begin
query1.Close;
query1.SQL.Clear;
query1.SQL.Add('select max(id) as id from ip.db ');
query1.Open;
di:=query1.fieldbyname('id').AsInteger; for i:=0 to di do
begin query2.Close;
query2.SQL.Clear;
query2.SQL.Add('select * from ip.db where id=''i''');
query2.Open;
name:=query2.fieldbyname('名称').AsString;
x:= query2.fieldbyname('x').AsInteger;
y:=query2.fieldbyname('y').AsInteger;
image1.Canvas.TextOut(x ,y,name);
end;
end;
x:= query2.fieldbyname('x').AsInteger;
y:=query2.fieldbyname('y').AsInteger; x:=1;y:=1; name:='test';
image1.Canvas.TextOut(x ,y,name); 就可以看出是 TextOut问题 ,还读数据的问题TextOut之前往要 Set Font Color之类
看到底问题出在哪
看x,y,name取没取上值
for i:=0 to di do begin
edit1.Text:=IntToStr(i) ;//i有值
query2.Close;
query2.SQL.Clear;
query2.SQL.Add('select * from ip.db where id=''i''');
query2.Open;
name:=query2.fieldbyname('名称').AsString;
x:= query2.fieldbyname('x').AsInteger;
y:=query2.fieldbyname('y').AsInteger;
edit3.Text:= query2.fieldbyname('名称').AsString;//没值
image1.Canvas.TextOut(x ,y,name);
如果最后一个i值所对应的id没有对应的数据 那么你的 x y name 显然就是空的