procedure TFrmDataEdit.Button1Click(Sender: TObject);
VAR
aq:array[0..2] of tadoquery;
begin
  aq[0]:=tadoquery.Create(self);
  dbedit1.DataSource:=aq[0].DataSource ;
  dbedit1.DataField   :='values'; 
  aq[0].Connection :=FrmSysVar.ADOConnection1;
  aq[0].Close;
  aq[0].SQL.clear;
  aq[0].SQL.add('select values from waterdata ');
  aq[0].Open ;
  dbedit1.Refresh ;
  showmessage(inttostr(aq[0].recordcount));  //显示3
end;
显示是有记录的,可dbedit就是没有内容,为什么啊?

解决方案 »

  1.   

    dbedit1的DataSource属性赋值类型是TdataSource,
    而在Tadoquery生成时,没有生成DataSource
    所有DBEdit没有值
    var
    aq:array[0..2] of tadoquery;
    ds:array[0..2] of tdatasource;
    begin
      inherited;
      ds[0]:=tdatasource.Create(self);
      aq[0]:=tadoquery.Create(self);
      ds[0].Dataset :=aq[0] ;
      dbedit1.DataSource:=ds[0] ;
      dbedit1.DataField   :='RID';  
      aq[0].Connection :=FrmSysVar.ADOConnection1;
      aq[0].Close;
      aq[0].SQL.clear;
      aq[0].SQL.add('select rid from report');
      aq[0].Open ;