FORM1:动态生成TADOQuery 
DM:设置TADOConnnection 当指定TADOQuery 运行期 的Connnection 属性为TADOConnnection 
TADOQuery.Connnection := DM.TADOConnnection 编译不通过!请问是什么原因?
但是在FORM1设置控件TADOQuery设计期的属性却可以通过??

解决方案 »

  1.   

    procedure TForm1.formshow(Sender: TObject);
    var
      adoquery1:TADOQuery;
    begin
      adoquery1.Create(NIL);
      adoquery1.Connection := 'DM.ADOConnnection1';end;
      

  2.   

    procedure TForm1.formshow(Sender: TObject);
    var
      adoquery1:TADOQuery;
    begin
      adoquery1 := adoquery1.Create(NIL);
      adoquery1.Connection := DM.ADOConnnection1;end;
      

  3.   

    TADOConnnection
    你的adoconnection的名字怎么和类名TAdoConnection相同
      

  4.   

    procedure TCustInfoFrm.FillCbVType;  //填充客户类型
    var
       // FillStr  : string ;
        Q_Fill : TADOQuery;    i : Integer;
    begin
       Q_Fill :=TADOQuery.Create(nil);
       Q_Fill.Connection := DM.SysConn;//编译不通过
        with Q_Fill do
        begin
            close;
            sql.Clear;
            sql.Add(FillStr);
            try
                open;
            except
                ShowMessage('数据连接出错!');
            end;
            First;
            for i := 0 to RecordCount-1 do
            begin
                cbVType.Items.Add  (FieldByName('VendorType').AsString);
                next;
            end;
    end;
      

  5.   

    SysConn 确定为你所建立的adoconnaction组件的名字
      

  6.   

    你没有在FORM1里
    uses DataModule1;  单元
      

  7.   

    在implemention下面加上
    uses DataModule1; //数据模块单元名.
      

  8.   

    我也碰上楼主的问题啊,晕死,我是一个单元放的创建并连接数据库的ado连接.
    然后另一单元引用这个单元后,给adoQuery,adocommand等使用连接就是搞不上,
    没办法,问不出来,我又做个函数放到 声明连接的单元去了,
    这个连接的单元,和那个处理数据单元都是公用的,在主窗体里引用了.饿也想知道为什么?