record not found or changed by another user 解决

本文介绍了解决在使用ClientDataset+DatasetProvider+SQLQuery进行数据修改时出现的“recordnotfoundorchangedbyanotheruser”错误的方法。针对不同情况,如表是否具有主键,详细说明了如何设置参数来避免该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 record not found or changed by another user  解决方法

 

 我在使用三层结构时,有一张表没有主键,用ClientDataset+DatasetProvider+SQLQuery修改数据时,反复提示“record not found or changed

 

by another user”,把ClientDataset的Indexname赋值后,再把DatasetProvider的UpdateMode设为upWhereChanged后,OK

 

如果使用的表有主键,需设置ClientDataset 的Indexname后,把DatasetProvider的UpdateMode设为upWhereKeyOnly,才能正确更新

 

数据。

 

  后来发现前面的认为是错的,需要①把SQLQuery和ClientDataset的主键字段的ProviderFlags设为pfInKey,②把SQLQuery和

 

ClientDataset的主键字段的KeyFields字段设为主键字段,经反复测试,新增、修改都能成功保存并更新。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值