我想用ClientDataSet执行动态sql查询。但是出错。(100分)

J

jlbszyc

Unregistered / Unconfirmed
GUEST, unregistred user!
我想用ClientDataSet执行动态sql查询。我的系统是windowsXP
我作了如下设定。
DataSetProvider的AllowCommandText设为真。
然后执行
ClientDataset.close;
ClientDataset.Commandtext:='SELECT词句';
ClientDataset.open;
但是系统提示,此命令不能在一个打开的记录集中执行。
请大侠帮助老弟一下吧,我实在不明白为什么。
 
好了,这个问题我解决了,真他妈的见鬼,在远程数据模块中在设计时竟不能将Adoquery的
Active属设为真的,改为False就好了。
 
为什么不能设为true?
 
首先你连接的datasetprovider必须设置为allowcommandtext的属性为true,
然后datasetprovider的dataset必须为query组件或adoquery组件它的sql属性
随便设一个,但不能为空,最后在你想动态执行sql时只要先设置clientdataset.commandtext:=‘。。’
然后设clientdataset.active:=true;即可
 
在三层结构中,还有一个小技巧:
你在中间层的Query的RequestLive不能设为Ture(Bde下),否则
客户端运行出错提示:数据库中没有此表,或视图
 
>>>然后datasetprovider的dataset必须为query组件或adoquery组件它的sql属性随便设一个,但不能为空,
未必。
 
没有什么还该的了
 
顶部