为何clientdateset.ApplyUpdates(0)后数据库里的内容没有更新,该如何解决
为何clientdateset.ApplyUpdates(0)后数据库里的内容没有更新
用Tsocketconnect + Tdatasetprovider + Tclientdataset连的三层结构,数据库是sqlsever 2000
服务端和客户端可以连通,dbgrid上也可以显示数据库中的内容,但我在程序上修改的记录后无法提交到数据库上,这是为什么,程序如下
clientdataset.Active;
clientdataset.Edit;
然后在dbgrid上改几个记录
clientdataset.Post;
clientdataset.ApplyUpdates(0);
此时不会报错,但就是数据库中的记录没有更新
在SQL事件查看器中,在完成以上步骤后,事件查看器一条事件记录都没多出来
clientdataset.ApplyUpdates(0);时,返回值是1
clientdataset.ApplyUpdates(-1);时,返回值是2
大家帮我看看到底是哪出问题了
------解决方案--------------------
在ClientDataSet的OnReconCileError事件中写
ShowMessage(E.Message);
可看到是什么错误
------解决方案--------------------
如果没有这个事件没有报错
那可能是数据库中触发器等执行有错误
用Tsocketconnect + Tdatasetprovider + Tclientdataset连的三层结构,数据库是sqlsever 2000
服务端和客户端可以连通,dbgrid上也可以显示数据库中的内容,但我在程序上修改的记录后无法提交到数据库上,这是为什么,程序如下
clientdataset.Active;
clientdataset.Edit;
然后在dbgrid上改几个记录
clientdataset.Post;
clientdataset.ApplyUpdates(0);
此时不会报错,但就是数据库中的记录没有更新
在SQL事件查看器中,在完成以上步骤后,事件查看器一条事件记录都没多出来
clientdataset.ApplyUpdates(0);时,返回值是1
clientdataset.ApplyUpdates(-1);时,返回值是2
大家帮我看看到底是哪出问题了
------解决方案--------------------
在ClientDataSet的OnReconCileError事件中写
ShowMessage(E.Message);
可看到是什么错误
------解决方案--------------------
如果没有这个事件没有报错
那可能是数据库中触发器等执行有错误