TClientDataSet分布式读取数据时出现错误(在cds.open调用时,显示成员不存在)(100分)

  • 主题发起人 主题发起人 chenft
  • 开始时间 开始时间
C

chenft

Unregistered / Unconfirmed
GUEST, unregistred user!
本系统采用前台TClientDataSet传递sql语句到后台com+服务
执行结果返回给TClientDataSet控件。
应用中采用TSocketConnection连接
CDS: TClientDataSet;
SocketConnection: TSocketConnection;
ConnectionBroker: TConnectionBroker;
CDS.Close;
CDS.CommandText := SelectSQL;
CDS.Open;
但是在应用中,调用CDS.Open时会出现成员不存在的错误。
有没有碰到类似错误的?
请指教是怎么回事?sql没有错,在sql服务器中可以正常执行,结果正确
 
如果selectsql中有参数的话请注意大小写问题!---参数大写!
 
查看datasetProvider allowcommandtext设置了么?
 
楼上说的没错,那些表名和字段名都要是大写的才行.
 
问题解决了。
前面说的都没有关系的。sql语句大写或者小写都没有关系的。
其次datasetProvider allowcommandtext应该设置为true。
我的问题在于。服务器端我用的是Tdbcom = class(TMtsDataModule, Idbcom)来进行数据
读取。但是,偶然的原因,程序的接口丢失了,我用type library创建interface的时候没有注意她的parent interface.正确的parent interface应该是IappServer,而我的程序中是idispatch,所以,在cds.open的时候会出现成员不存在的错误。
如果sql语句不对,也会出现错误,但是不是这个错误。
不管怎么样,还要多谢几位,分数平分。呵呵
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
940
SUNSTONE的Delphi笔记
S
I
回复
0
查看
965
import
I
后退
顶部