运行:
    procedure TTopicin.SpeedButton2Click(Sender: TObject);
    begin
     clientdataset1.CommandText:='update topic set topicid='+char(10)+edtopicid.Text+char(10)+' where topicid='+char(10)+listview1.Selected.Caption+char(10);
    clientdataset1.Active:=true;
    clientdataset1.Close;
    clientdataset1.CommandText:='';
  运行编译后出现“ADOQuery:commandtext does not return a result set”
  Adoquery 放在服务器端! 但数据库修改是成功的!
请大家给小弟指点!

解决方案 »

  1.   

    把clientdataset1.Active:=true; 改为 clientdataset1.Execute;
      

  2.   

    哦!错了!
    应该是把ADOQuery.Open修改为ADOQuery.ExecSQL;
      

  3.   

    呵呵,这是什么逻辑?这是三层吗?我倒
    你应该在服务器上写一个方法来执行你对数据库的修改,而不要在clientdateaset上写东西
    或者你真接用clientdataset修改数据库!这样写,还不能写单层的呢!
      

  4.   

    呵呵 俺是刚学DELPhi不到二个月,水平有限啊!!请问怎么在服务器就写修改该数据?谢谢啊!!
      

  5.   

    lwk_hlj(阿凯(学习.net中)) (---------
    说的对啊,这样写和两层是一个意思了
    应该把执行方法写喜爱服务器端
      

  6.   

    clientdataset1.CommandText:='update topic set topicid='+char(10)+edtopicid.Text+char(10)+' where topicid='+char(10)+listview1.Selected.Caption+char(10);
        ClientDataSet1.ApplyUpdates(-1)
        clientdataset1.Close;
        clientdataset1.CommandText:='';
      

  7.   

    char(10)  是空格吧   应该用单引号吧
    把char(10)该成#39或者char(39)
      

  8.   

    不要用clientdataset1.Active:=true;
    当sql语句不返回dataset时,要用Sql.Execute