问题同上。

解决方案 »

  1.   

    你用了SQLdataset?也要把它关掉,不知道是什么控件
      

  2.   

    ClientDataSet1.Close;
    ClientDataSet1.CommandText:='';
    ClientDataSet1.open或者execute;
      

  3.   

    不好意思,我没有说清楚
    我的数据库连接方式:sqldataset+datasetprovider+ClientDataSet
    我想在ClientDataSet中执行SQL,但是一直不行。
      

  4.   

    首先检查一下你的SQLDataSet的CommandType,再者检测DataSetProvider的Option需要的选项是否打开.再使用合适的语句序列:
     with ClientDataSet do
     begin
       Active:=False;
       CommandText:=SqlStr;
       Active:=True;
     end;
      

  5.   

    我现在的状态:
    SQLDataSet.commandtype为ctquery
    DataSetProvider.option中poallowcommand为true,其他为false;
    执行你的代码,就是不行。
    不知道option中还有其他选项需要打开吗?
      

  6.   

    谢谢,各位。我好像找到原因了。
    ClientDataSet.CommandText中sql传递给了SqlDataSet.CommandText了。这样的话,是可以达到我想要的效果了,但是我想问另一个问题。如果让ClientDataSet.CommandText中的SQL,只影响ClientDataSet.data中的数据那?然后在通过ClientDataSet.applyupdates(0);更新后台数据库
      

  7.   

    ClientDataSet.CommandText中sql传递给了SqlDataSet.CommandText了。??
    ClientDataSet.CommandText中的SQL,本来就只影响ClientDataSet.data中的数据呀。你把代码贴出来看看。