执行ClientDataSet1.Append 添加完数据后,保存的时候就出现“Record not found or changed by another user”的错误,应当如何解决?保存的代码为: ClientDataSet1.ApplyUpdates(-1);
解决方案 »
- 我一直想知道如何让Delphi生成的默认界面在windows7下显示成win7风格
- delphi中有没有保存窗口控件属性的控件啊?
- 多了两大红花,散分
- RadioGroup组件控制部分选项的问题
- 救命啊!!!我要晕死了~~~关于用LOOKUP或locate在Oracle中查找记录的问题!
- DBGRID的问题
- 請問在ACCESS數據庫中用什么命令可以實現以下功能? pls....
- 怎样取得word文档中的某一行
- 请教各路英雄豪杰,那里有密码字典的算法函数!
- 哪位能告诉我哪一个WINAPI可以删除某目录下某文件的例子
- 在线求助!!!ODBC怎么读取和写入Paradox的Blob大对象字段?
- 用delphi的公司越来越少,java和.net两大阵营分庭抗礼,delphi路在何方?迷茫啊!!!
该错误出现的情况有:
1、该记录在提交更新时被他人修改过
2、字段中有长日期类型
解决方法:
不用ClientDataSet更新,通过SQL语句更新或者设置服务端的控件的字段属性,把主键字段的ProviderFlags的pfinKey属性设为true,这样ClientDataSet更新时服务端检索记录时的条件仅包含该字段而不是所有字段
当然,这样的话如果在提交之前该记录被他人修改过(不改主键字段)的话,你仍可更新该记录,而不会有你看到的错误提示。