我定义了一个类:
type
  myTest = class(TADODataSet)
  public
    constructor Create(ower:TComponent);override;
end; 可以看到这个类继承子TADODataSet 下面是她的构造函数:
 
constructor myTest.Create(ower: TComponent);
begin
  inherited;
  self.CommandText  :=  'select * from users';
  self.ConnectionString :=  'Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=OCERS;Data Source=607-LI';
  self.Connection.Open;
  self.Open;
end; 该程序通过编译,但是为什么实例化这个类的时候,执行到self.Connection.Open;时总是报错呢? 请大侠们帮忙解释一下,感激不尽!

解决方案 »

  1.   

    >>self.Connection.Open;
    這句不要, 正常, 一個ADODataSet.open的時候,
    會自動調用Connection Active的
      

  2.   

    Connection还没有初始化你就调用Connection.Open(),当然出错
      

  3.   

    to alphax(一切有为法,如梦幻泡影):如何初始化?
      

  4.   

    aiirii(ari-爱的眼睛) 的方法是正确的,非常感谢!不过还有一个问题就是:代码现在在普通的窗体中执行时没有问题了,但是我把这个类封装到一个动态链接库中的,执行到self.open的时候又报错了!请问是怎么回事?
      

  5.   

    把self.Connection.Open;去掉。
    你是想用ADODATASET直接连数据库吧。就不用ADOCONNection了
      

  6.   

    自己顶!大侠们帮帮忙啊!!!代码现在在普通的窗体中执行时没有问题了,但是我把这个类封装到一个动态链接库中的,执行到self.open的时候又报错了!请问是怎么回事?