我在做一个分布式系统,我做了一个服务端,然后做客户端时通过clientdataset和服务端上的一个DataSetProvider相连,界面上一个dataset连clientdataset,一个dbgrid和datasource相连,我在dbgrid显示出数据后,点“修改按钮”(里面代码是datasource1.dataset.edit)然后再点一个“更新按钮”
(里面代码是if datasource1.DataSet.State=dsedit then
           datasource1.DataSet.Post;
       if datamodule1.ClientDataSet1.ApplyUpdates(-1)=0 then
     MessageBox(Handle,'数据更新成功!','提示',MB_OK)
     else
    MessageBox(Handle,'数据更新不成功!','提示',MB_OK);
)结果提示不成功。数据也没有更新到sql server库中.敢问大家这里更新如何写才可以让数据更新到数据库中呢?

解决方案 »

  1.   

    1是否设置providername属性为你服务器上的dsp?
    2regsvr32 midas.dll后再试试
      

  2.   

    雨晖:你说的providername是指provider的名字吗?不是随便取一个就好了吗?你说的dsp是什么意思呢?
    另外我注册过了试得也不对啊
      

  3.   

    设置clientdataset的providername属性和服务器端的DataSetProvider要一致
      

  4.   

    是一致的,我刚才经过试验,发现能更新了,不过还是有点和我想达到的目的不一样。就是我想在dbgrid中各列头显示的是中文,我只要在sql语句中写成"select sj as '时间',sb1 as '设备1' from hcxjzb "就更新不了了。但是如果我改成"select sj,sb1 from hcxjzb"就可以了。但是那样dbgrid中列头是不是中文啊,怎样又能达到我的dbgrid各列显示中文,又能进行更新呢?