我用DELPHI做了WebService 程序,里面有个函数反回值是DataSet类型(不是TDataSet),在delphi开发的Vcl 程序调用这个函数后,想把这个结果(DataSet类型)给 DBgrid 用,怎么弄呢?
DBGrid.datasource 是个 TDataSet 类型的,不能直接赋值,所以非常迷茫,到底 TDataSet 和 DataSet 是什么关系?怎么把DataSet 在vcl程序中用呢?
各位高手,请指点迷津!谢谢!!!!!!!!!!!!!!!!

解决方案 »

  1.   

    我没写过 webservice,但是首先要确认这个DataSet的类型,在IDE下应该就能看出来。
      

  2.   

    TDataSet is the base class for all dataset components that represent data in rows and columns.
      

  3.   

    我也了解点,但返回的 dataset 类型的结果,怎么用到 dbGrid 呢?
      

  4.   

    按照delphi的命名规则类型前面应该带个“T”,TDataSet是个类型,但DataSet从名字上看可能不是一个类型。TDataSet类型变量的值其实就是指向一个TDataSet对象的指针,所以是可以直接赋值的。比如一个TDataSource对象ds1, ds1.dataset可以用任何一个以TDataset派生的类型的对象来赋值,比如一个TQuery,TTable,TClientDataSet。
    TDBGrid.datasource的类型应该是TDataSource,而不是TDataSet。楼主是不是数据类型搞错了。
    至于那个DataSet是什么,需要看看函数定义才知道。