我在做一个简单的三层结构,在服务端,我动态建立了TDataSetProvider,但是我在客户端连接时,ClientDataSet1的ProviderName属性中看不到我建立的TDataSetProvider,这样应该怎么做啊?
动态建立的,在客户端怎样连接啊?
谢谢各位了,现在弄的我头大...
动态建立的,在客户端怎样连接啊?
谢谢各位了,现在弄的我头大...
调试欢乐多
RegisterProvider(Provider1);
+ ServerFrm.PasswordEdt.Text
+';Persist Security Info=True;User ID='
+ ServerFrm.UserEdt.Text
+';Initial Catalog='
+ ServerFrm.BaseEdt.Text
+';Data Source='
+ ServerFrm.IPEdt.Text;
ADO.Close;
ADO.ConnectionString :=Str;
ADO.Open;
ADOSet :=TADOQuery.Create(self);
ADOSet.Connection :=ADO; DataSetPr := TdataSetProvider.Create(Self);
DataSetPr.DataSet :=ADOSet;
RegisterProvider(DataSetPr);
这个是代码,你看看我做的对不对..
function myRemoteData.CreateUnqiueName:string;
var
i :integer;
begin
i := 0
repeat
result := 'MyproviderName'+IntToStr(i);
Inc(i);
until Self.FindComponent(Result) = nil;end;
....然后在
DataSetPr := TdataSetProvider.Create(Self);
DataSetPr.Name := CreateUnqiueName;
DataSetPr.DataSet :=ADOSet; //RegisterProvider(DataSetPr); 好象可以不要,如果不行就要吧 RegisterProvider(DataSetPr);
function myRemoteData.CreateUnqiueName:string;
var
i :integer;
begin
i := 0
repeat //这个是什么意思?为什么要加一个变量I
result := 'MyproviderName'+IntToStr(i);
Inc(i);
until Self.FindComponent(Result) = nil;end;