不知道这算不算Delphi的 bug

dps898 2010-11-02 07:46:31
GoodsCode GoodsName
001 AAA
002 BBB
003 CCC

GoodsCode是主键



这时侯我 先删除 001 的记录, 然后在添加 001 的记录 , 居然提示插入重复键,
我跟中 SQL 语句发现先 是先执行"插入"再执行"删除"的
try
ADOConnection1.BeginTrans ;
ADOQuery1.ApplyUpdates ;
ADOQuery1.CommitUpdates ;
ADOConnection1.CommitTrans ;
except
ADOConnection1.RollbackTrans ;
end;





PB就没有这样的问题
我跟中 SQL 语句发现先 是先执行"删除"再执行"插入"的

不信你们可以试下这个 Bug
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
软件钢琴师 2010-11-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 sz_haitao 的回复:]
这种操作模式,adoquery控件、ado 都可能转为它们自己理解的sql再去执行的
还是你自己写出希望的sql直接去执行最保险
[/Quote]
支持这种做法
如果楼主非要那么做的话,你可以在删除之后ADOConnection1.CommitTrans 然后再涮新一下
就应该没有问题了
haitao 2010-11-03
  • 打赏
  • 举报
回复
这种操作模式,adoquery控件、ado 都可能转为它们自己理解的sql再去执行的
还是你自己写出希望的sql直接去执行最保险
dps898 2010-11-03
  • 打赏
  • 举报
回复
那 delphi 做 缓存更新(批量更新)都会有这样的问题, 三层也这样?
dps898 2010-11-02
  • 打赏
  • 举报
回复
请问大家有遇过这样的情况?
_菜菜 2010-11-02
  • 打赏
  • 举报
回复
关于数据库的操作,还是直接用SQL语句比较好

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧