我原先有做了一些,用adotable,连接Access数据库,
现在要改成三层分布,
请教高手这个要使用哪些控件?
  服务器端:ADOConnection1,ADOTABLE,DataSetProvider1
  客户端:DCOMConnection1,ClientDataSet1,DataSource1
这些更新数据的时候,服务器数据没有更改,
请高手赐教!
最好说说具体步骤,万分感激!!!!

解决方案 »

  1.   

    查询时filter:=‘name='+''''+s+'''';
    s的值如果是英文是可以查询,可是如果是中文显示是空的?
      

  2.   

    1.ClientDataSet1.ApplyUpdates(-1) //提交更新
      

  3.   

    1.ClientDataSet1.ApplyUpdates(-1) //提交更新
    我就是用这句不行,,
      

  4.   

    在 ClientDataSet 的 OnReconcileError 事件中捕捉错误信息,查看是什么错误
      

  5.   

    applyupdates更新是提示:“updata 出错”,或者“是什么另外一个用户什么的”,
    可是我这里也只有一个客户端访问而己,只不过服务器与客户端在同一个机子而己,
    修改语句:
      clientdataset1.fieldbyname('name').asstring:=edit1.text
    而且出错后,选择”correct‘数据也更改不过来?
      

  6.   

    procedure TForm1.ClientDataSet1AfterPost(DataSet: TDataSet);
    begin
    edit3.text:=inttostr(clientdataset1.changecount);
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
    if ((clientdataset2.ChangeCount)>0) then
    clientdataset2.ApplyUpdates(-1);
    edit1.text:=inttostr(clientdataset2.ChangeCount);
    end;procedure TForm1.Button2Click(Sender: TObject);
    var
      s:string;
    begin
    s:='7';
    clientdataset2.CommandText:='select * from record where no=s';end;procedure TForm1.ClientDataSet2AfterPost(DataSet: TDataSet);
    begin
     edit1.text:=inttostr(clientdataset2.ChangeCount);
    end;procedure TForm1.Button3Click(Sender: TObject);
    begin
    clientdataset1.ApplyUpdates(-1);
    edit3.Text:=inttostr(clientdataset1.ChangeCount);
    end;procedure TForm1.Button4Click(Sender: TObject);
    begin
    clientdataset1.Append;
    end;procedure TForm1.Button5Click(Sender: TObject);
    begin
    clientdataset2.Delete;
    clientdataset2.ApplyUpdates(-1);
    end;
    以上的修改、添加、删除记录服务器端都无法更新
      

  7.   

    1/这么麻烦,还不如用C/S,数据库换成SQL或者其它的,
    2/ACCESS,就是这样子的啊,FILTER过滤有这各毛病!