执行ClientDataSet1.Append 添加完数据后,保存的时候就出现“Record not found or changed by another user”的错误,应当如何解决?保存的代码为: ClientDataSet1.ApplyUpdates(-1);
解决方案 »
- 请问这样的按钮效果要怎么实现呢?
- pagecontrol控制mdi子窗体的问题
- 为什么我用delphi编译的程序在别的机器上不能用?
- 救命呀!俺笨,请各位江湖好汉多多相助!关于ftp端口的问题!
- 主窗体与子窗体....????????
- NMSMTP控件发邮件的问题,苦恼!
- 送分问题
- ReportMachine中细表如何根据某一个字段进行分组?
- DELPHI6能不能建立MTS?只能建立COM+,注册也是只能注册COM+!怎么办?
- 怎样确定是什么程序或者进程调用了API呢!
- 在线求助!!!ODBC怎么读取和写入Paradox的Blob大对象字段?
- 用delphi的公司越来越少,java和.net两大阵营分庭抗礼,delphi路在何方?迷茫啊!!!
该错误出现的情况有:
1、该记录在提交更新时被他人修改过
2、字段中有长日期类型
解决方法:
不用ClientDataSet更新,通过SQL语句更新或者设置服务端的控件的字段属性,把主键字段的ProviderFlags的pfinKey属性设为true,这样ClientDataSet更新时服务端检索记录时的条件仅包含该字段而不是所有字段
当然,这样的话如果在提交之前该记录被他人修改过(不改主键字段)的话,你仍可更新该记录,而不会有你看到的错误提示。