如何在中间层动态创建DATASET并和DATASETPROVIDER绑定

解决方案 »

  1.   

    procedure TSomeRemoteDataModule.DynamicCreateProvider;
    var 
      Connection: TADOConnection;
      DataSet: TADODataSet;
      DataSetProvider: TDataSetProvider;begin
      Connection.Create(Self);
      DataSet.Create(Self);  // 此处Self为RemoteDataModule
      DataSetProvider.Create(Self);
      Connection.ConnectionString := '...'; // 连接字符串
      DataSet.Connection := Connection;
      DataSet.CommandText := 'Select * from sometable';
      DataSetProvider.DataSet := DataSet;
      DataSetProvider.Name := 'Provider';  // 这个字符串的命名
                                    // 应符合pascal的标示符命名规则
              //客户端的ClientDataSet的ProviderName 中填入这个字符串
    end;