https://blog.csdn.net/onebigday/article/details/5602619
ClientDataSet初步使用
用Delphi以来,一直在用TSimpleDataset控件,因为它方便,但有人对我说,TSimpleDataSet不好,最好还是用TClientDataSet。一开始还不以然认为很方便,还没发现什么不好。后来有一次想把TSimpleDataSet的SaveToFile把它保存为二进制形式文件后,竟然无法用LoadFromFile再导到TsimpleDataSet中了,查了好久才知道用TClientDataSet的LoadFromFile才可以。过一段时间,又发现TSimpleDataSet没有Aggregates属性,想想,还是用多用用TClientDataSet才行。不能只会用TSimpleDataSet。
要用TClientDataSet,就要多比TSimpleDataSet用两个控件,一个是TdataSetProvider,另一个是TSQLQuery。下面说说我是怎么用的:
1。添加TSQLConnection控件,在DBExpress控件组中
2。添加TSQLQuery,在DBExpress控件组中
3。添加TDataSetProvider,在DataAccess控件组中
4。添加TClientDataSet,在DataAccess控件组中
5。添加TDataSource,在DataAccess控件组中
6。添加TDBGrid,在DataControls控件组中
然后设置TSQLQuery的SQLConnection属性,指向TSQLConncetion
TDataSetProvider的DataSet属性指向TSQLQuery
TClientDataSet的ProviderName属性指向 TDataSetProvider
TDataSource的DataSet属性指向TClientDataSet
TDBGrid的DataSource属性指向TDataSource
它们的依靠关系也就是:
TDBGrid->TDataSource->TClientDataSet->TDataSetProvider->TSQLQuery->TSQLConncetion
然后要知道,TClientDataSet的CommandText属性是不可写的,要变换不同的SQL语句进行查询,就修改TSQLQuery的SQL.Text属性,然后用TClientDataSet的Open方法执行SQL语句。