用数据控件如何判断字段的唯一性

tgtcn 2010-05-06 11:35:03
我用dbedit1,数据控件,保存编号,编号是唯一性的,按保存按键时,如果不唯一就提示不保存,但用一个保存按这样就存在新增和修改的两种情况,如何处理呢?

...全文
63 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
guanking 2010-05-08
  • 打赏
  • 举报
回复
在数据库表设计中,把这个要求唯一值的字段设为主键,这样的话,如果更新了重复值,数据库就会报错。

可以用以下方式处理:
try

更新值
except
出现重复值报错,提示重新输入。

end
ljluck7687 2010-05-07
  • 打赏
  • 举报
回复
新增和修改的处理方法不一样,必须要区分。
通过数据状态可区分是新增还是修改。如果界面上有“新增记录”、“修改记录”的话也能够区分当前的操作。
新增:查询数据库中是否存在该编号,有则提示,并放弃新增
修改:比较修改前后两者的编号是否改变,若不变则不提示直接保存。若改变了,则要查询数据库中是否存在该编号,存在则提示,并放弃修改
bdmh 2010-05-06
  • 打赏
  • 举报
回复
在beforepost事件中先去查询,如果存在就不保存
22222bbb 2010-05-06
  • 打赏
  • 举报
回复
增加的情况下:保存前先到数据库里查询有没有这个编号,如果有就不保存了
修改的话不需要查询了
tgtcn 2010-05-06
  • 打赏
  • 举报
回复
我都知道要这样啦,究竟代码是如何处理呢?
andylist 2010-05-06
  • 打赏
  • 举报
回复
保存前先搜索一次啊,修改就不用搜了

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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