datasetprovider and clientdataset(150分)

  • 主题发起人 主题发起人 firstshine
  • 开始时间 开始时间
F

firstshine

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序有一个datamodule,里面有adoconnection,adoquery,datasetprovider;
程序还有一个Form,里面有clientdataset;
但是我不明白的是怎么将clientdataset的providername设成datamodule中的datasetprovider?
代码如下:
unit uDataModule;
interface
uses
SysUtils, Classes, DB, ADODB, Provider, DBTables;
type
TdmDatabase = class(TDataModule)
adocAccess: TADOConnection;
DatasetProvider: TDataSetProvider;
adoQuery: TADOQuery;
private
Published
Public
end;
//==============================================================
unit uRouteMake;
interface
uses
uDataModule, ......
type
TRouteMake = class(TNonMDIChild)
DBEdit1: TDBEdit;
DBMemo1: TDBMemo;
cdsRoute: TClientDataSet;
private
{ Private declarations }
public
Constructor Create(AOwner:TComponent);override;
end;

implementation
{$R *.dfm}
{ TRouteMake }
constructor TRouteMake.Create(AOwner: TComponent;);
begin
inherited Create(AOwner);
cdsRoute.ProviderName:='DatasetProvider';
cdsRoute.CommandText:='select missionname from mission';
cdsTemp.Open;
//出错,错误信息为cdsRoute:Missing data provider or data packet.
//换成cdsRoute.ProviderName:='uDataModule.DatasetProvider'也不行
end;
 
cdsRoute.ProviderName:=DatasetProvider
这个 DatasetProvider 在服务端要存在
(出错的地方是cdsRoute.Provider,用它是什么意思呢?)
 
我没有服务器端,只是在程序里建立了一个datamodule而已
 
在Form里引用datamodule,就可以使用datamodule里的东西了,不过datamodule开着的。
 
没有服务器端?用datasetprovider?在搞什么麻烦事??
 
好像TDataSetProvider应该放到TRemoteDataModule里吧!?
象你这样就没有必要使用3层了。
 
多人接受答案了。
 
后退
顶部