服务器端:ADOCONNECTION,ADOQUERY,DATASOURCE,DATASETProvider
客户端:DCOMConnection,DATASOURCE,CLIENTDATASET
在用clientdataset的commandtext方法时候,运行后出现:cannnot perform *** on an open dataset。
我的服务器端的poAllowCommandText已经设置为true.
如何更改?
各位多多发言啊

解决方案 »

  1.   

    我关闭了也不行,请看我的如下代码: 
    with ClientDataSet1 do
          begin   
              if Active   then
                  Close;
              CommandText := 'Select * from Book';
              Open;
          end;
      

  2.   

    服务器端应该有一个函数能够实现客户端传入一个SQL后,服务器端直接返回数据集,然后客户端的ClientDataset接受这个数据集再后操作这个Clientdataset。
    TClientDataSet不应直接修改CommandText,这样和直连也没有多大区别了。
      

  3.   

    这个能的,在服务器里面的priv里面有个属性设为True
      

  4.   

    ClientDataSet1.Close;
    ClientDataSet1.CommandText:='select .....';
    ClientDataSet1.Open;
      

  5.   

    看看我 这个 :) 有源码,应该适合你用
    http://topic.csdn.net/u/20100508/14/ed86a22a-00d1-41b8-9b8b-7cf7014c3e50.html