我是先用TADODATASET获得数据库中的一个数据集WDATASET
然后直接用FORM中创建的DBGRID.DataSource.DataSet := WDATASET;
执行到这一步的时候就出错了,我以为可能是未创建
DataSource,于是先执行了一步 DBGrid.DataSource.Create(Self);
可到了DBGrid.DataSource.Create(Self)这儿又出错了,到底是什么原因啊
这样将DATASET的值赋给DBGRID可以吗?
万分火急。

解决方案 »

  1.   

    应该是
    DBGRID.DataSource.DataSet := adodataset
      

  2.   

    不要创建DBGrid.DataSource.Create(Self)
    直接创建一个TDataSource, 然后赋给DBFrid.DataSource 试试
      

  3.   

    DBGrid.DataSource.Create(Self);这句话本身就有问题啊!
    Creat是类方法,需要类引用来调用,你这里用一个未创建的对象指针来调用,当然错啦!
    如果要动态创建的话,可以这样写:
        DBGrid.DataSource=TDataSource.create;不过我建议你还是在DATAMODUL中创建比较合理!
      

  4.   

    在DATAMODUL中创建比较合理!
    的确是一个很好的方法,我现在在程序中也有DATAMODUL这个模块,高手哦!
    方法是对了,原理说的也不错,给分喽。
    我的qq是:48439064
    希望能交个朋友,呵呵。
    你的qq ?
      

  5.   

    var
      TDataSource DataSource1;DataSource1 := NULLL
    DataSource1 := TDataSource.create;
    DBGrid.DataSource := DataSource1;用完后
    Delete DataSource1;
    DataSource1 := NULL;