DBgrid.datasource:= DataSource1;
DataSource1.dataset:= ClientDataSet1;
ClientDataSet1.DataSetProvider:= DataSetProvider1;
DataSetProvider1.dataset:= ADODataSet1;
ADODataSet1.Connection:= ADOConnection1;连接没问题,而且如果DataSource1.dataset:= ADODataSet1,在DBgrid中有四条记录显示出来,可是如果象如上设置,则只有四行空的记录.为什么?

解决方案 »

  1.   

    那会是什么问题啊?我的ClientDataSet1和ADODataSet1里的字段名和类型都是一样的啊
      

  2.   

    问题肯定出在ClientDataSet1或DataSetProvider1上仔细检查一遍!
      

  3.   

    楼主呀,你打开数据集的语句千万不要写成:
    ADODataSet1.Open;
    而要写成
    ClientDataSet1.Open;
    才能出来D~~~~~~~~~~~~~~~~~`
      

  4.   

    问题:
    ClientDataSet1.DataSetProvider:= DataSetProvider1;
    改正:
    ClientDataSet1.SetProvider(DataSetProvider1);
      

  5.   

    ClientDataSet1.DataSetProvider:= DataSetProvider1;
    应该有问题(中好象没有DataSetProvider这个属性): 改为:ClientDataSet1.ProviderName := DataSetProvider1;楼上的方法也可以,但一定要保证provider与clientdataset在同一个进程空间,如果provider在远程应用进程中,用setprovider会出错,而ProviderName两种情况皆适用.