小问题,搞了半天,还是不知道,大家看看!

allen_zhaozhencn 2003-10-20 03:29:31
dbvigator1控件与一个定义了主键的表相联,


adoquery1<---------->datasource1<--------->dbvigator1



dbgrid1控件也与这个查询

adoquery1<---------->datasource1<---------->dbgrid1


现插入记录,出现机同主键,老是报错,我不知从哪捕捉并处理这个异常。
...全文
23 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
guolvguolv 2003-10-20
  • 打赏
  • 举报
回复
你把数据库直接打开看是不是已经有了相同主键的值了
tanqth 2003-10-20
  • 打赏
  • 举报
回复
是不是插入的记录有一条和主键相同?
allen_zhaozhencn 2003-10-20
  • 打赏
  • 举报
回复
我用ADO数据库的,刚试过,还是不行啦。!!!!!!!!!
tiexinliu 2003-10-20
  • 打赏
  • 举报
回复
在posterror中加入如下代码:
begin
if (E is EDBEngineError) then
if (E as DdbengineError).Errors[0].ErrorCode=9729 then
begin
showmessage('出现重复');
abort;
end;
end;
zhoutian618 2003-10-20
  • 打赏
  • 举报
回复
现插入记录,出现机同主键??
**是不是相同主键??

老是报错,我不知从哪捕捉并处理这个异常。
**如果是相同主键的情况下,截异常的办法:
*1如果没有用批更新模式,就是在POST的时候截取。
或者是定义一个事件截,Application.OnException事件!!
*2如果用了批更新模式,就在批提交的时候截取。
hthunter 2003-10-20
  • 打赏
  • 举报
回复
你的结果集是不是查询多个表、并且这些表有主从关系?那样的话新增记录肯定会出错
angle097113 2003-10-20
  • 打赏
  • 举报
回复
在adoquyery的beforepost事件中来处理异常
yaven365 2003-10-20
  • 打赏
  • 举报
回复
是不是插入的记录有一条和主键相同?

感觉楼主问题提的不是很清楚,也可能是俺太菜
pianzhouzi 2003-10-20
  • 打赏
  • 举报
回复
up

5,379

社区成员

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

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