提示“[FireDAC][DApt]-402.Operation cannot be performed without assigned SelectCommand”
代码如下:
var lStream:TMemoryStream;
   i:integer;
begin
  i:=1;
  try
      mtTheCs.Edit;
      mtTheCs.FieldByName('cs_name').Value := edit2.Text;
      mtTheCs.FieldByName('ordid').Value :=strtoint(edit3.Text);
      mtTheCs.FieldByName('inuse').Value := Checkbox1.IsChecked;
      mtTheCs.Post;
      i:=2;
      lstream:=TMEmorystream.Create;      FDSchemaAdapter1.ResourceOptions.StoreItems :=[siDelta,siMeta] ;
      FDSchemaAdapter1.SaveToStream(lStream,TFDStorageFormat.sfBinary );
      i:=3;      lstream.Position :=0;
      spPostTheCs.Params[0].AsStream :=lStream;
      spPostTheCs.ExecProc ;
==========
请高手指教问题出在哪里了?

解决方案 »

  1.   

    mtTheCs.FieldByName('cs_name').Value := QuotedStr(edit2.Text);
    试试
      

  2.   

    执行到 mtTheCs.Post;这句出错的
      

  3.   

    问题已找到:
         将客户端的TFDTableAdapter控件 taTheCs 的DataSTableName设置为服务器对应的table或query控件名,然后最关键的是,将客户端TFDMemTable的cachedUpdates设置为true, 好了,全部代码 全部顺利执行,客户端 更新成功
      

  4.   

       mtTheCs.FieldByName('inuse').Value := Checkbox1.IsChecked;  这句有没有问题?
      

  5.   

    mtTheCs.FieldByName('cs_name').AsString:= edit2.Text;
    mtTheCs.FieldByName('ordid').AsString:=strtoint(edit3.Text);
    mtTheCs.FieldByName('inuse').AsBoolean:= Checkbox1.IsChecked;