为什么不回答我??
谁能告诉我为什么???/sigh!!!

解决方案 »

  1.   

    我不是高手,让我试试吧。
    在多层数据库中,ClientDataset是映射到数据库中一个具体的表。如果要使ClientDataset2的一条记录加到另外一个ClientDataset1上,那么ClientDataset1与
    ClentDataset2映射的表的结构应该一样或者是同一个表(不过如是同一个表的话,那
    就没有必要加了)。如果满足上叙条件的话,你就可以这样作:
       clientdataset1.append;
       clientdataset1.fieldvalue['字段名']:=clientdataset1.fieldvalue['字段名'];
        、、、、、、、
       clientdataset1.applyupgrades(-1);
      

  2.   

    applyupgrades(-1);
    ???有这个方法吗??
      

  3.   

    我做过差不多的东西,这一段代码可以参考一下:
    for i:=0 to TempForm.DBGrid1.SelectedRows.Count-1 do
    begin
      GotoBook(pointer(TempForm.DBGrid1.SelectedRows.Items[i]));
      ClientDataSet2.Append;
      for j:=0 to ClientdataSet1.RecordCount-1 do
      begin
        ClientDataSet2.Fields.Fields[j].value:=ClientDataSet2.Fields.Fields[j].value;
      end;
    end;
      

  4.   

    只要两个clientdataset的结构是一样的,没有什么难度。
    你的选择了多条记录之后,单击按钮引发下面的处理:
      with clientdataset2 do
      begin
        first;
        for  I := 0 to RecordCount-1 do
        begin
          if DBGrid1.SelectedRows.CurrentRowSelected then
          begin
            for J := 0 to Dbgrid1.Columns.Count-1 do
            begin
               clientdataset1.fields[J].value :=clientdataset2.Fields[J].value
            end;
          end;
          Next;
        end;
      end;