clientdataset1.CommandText :='SELECT * Animals where name=:name1';
clientdataset1.params.parambyname('name1').asstring:='Boa';//在此出错:找不到参数改 
clientdataset1.CommandText :='SELECT * Animals where name=Boa'

解决方案 »

  1.   

    不可能像tfpe()那样该吧????
    说话呀!
      

  2.   

    试试:
      clientdataset1.params.parambyname('name').asstring:='Boa';
      

  3.   

    看一下以下代码:
    procedure TForm1.Button1Click(Sender: TObject);
    var
     p:Tparam;
    begin
      with  clientdataset1 do begin
        close;
        commandText:='select * from zk_qxb where userid=:a';
        p:=TParam.Create(nil);
        p.Name:='xxx';
        p.DataType:=ftString;
        
        params.AddParam(p);
        execute;
        params.ParamByName('xxx').AsString:=edit1.text;
        open;
        p.free;
      end;
    end;
    我在Oracle上试验没有问题,你试一下看看你那里情况如何。如果需要了解进一步信息请参考Delphi的TClientdataset.Execute的帮助。Good luck.
      

  4.   

    ClientDataSet中的参数要动态或已经设计好了才能用的。和BDE或ADO 不同。
    with ClientDataSet1 do
    begin
      Close;
      CommandText := '..';
      Params.Clear;
      Params.CreateParam(ftInteger, 'ParamName', ....)//不知什么参数了。
      Open;
    end;