再问防止字段值重复的问题 如果不是通过数据库上设置约束或主键的话,如何才能保证插到某个表中的记录的某个字段值在表中不重复呢?想到的一个办法是在BeforePost中去数据库查一下有没有重复的记录,但这个方法有个问题,就是如果是修改记录的话就不灵了,它必然会抱怨说存在重复的记录。究竟应该如何解决呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 if Edtid.text <> Query1.FieldByName('Id').Asstring thenif locate('id', edtid.text, []) then showmessage('数据重复'); 修改不一样呀!比如有个表Table1,里面ID,XM两个字段,其中ID字段不能重复.有两条记录1,AAA和2,BBB.如果我修改2,BBB记录,如果是改成1,BBB或3,BBB自然不会出问题,但如果用户不小心把2改了一下,又改回为2,这时一提交就会出问题了,程序会抱怨说ID为2的记录已经存在,不能提交. To things(平): 老兄的這種方法在EDT沒有和數據庫綁定的時候是可以的,但是用到DBEDIT就不行了. 我个人觉得dickeybird888(于伟刚)的方法还是可行的,前提是数据表有一个绝对可靠的关键字段。things(平)的方法确实不适用于数据绑定控件。还有更好的方法吗? clientdataset问题 求函数FileTimeToLocalFileTime的详解?? 有关DELPHI版本的问题,急! 初见Delphi8 for .net 的感受 可用分又多了不少,想学葛朗台,可是坚持不住了,进来吧,都给你们算了.... 求教delphi动态库声明如何变为pb或vb的 利用SPCOMM发送短信的问题? 有關數據庫連接問題 关于修改VCL控件代码的问题,请教高手了。 MATRIX平台招聘构件开发人员(DELPHI) 求助100分,如何通过UDP协议进行大文件传输 在客户端如何实现对服务器端文件的操作 HELP!!!!!!!!!!
if Edtid.text <> Query1.FieldByName('Id').Asstring then
if locate('id', edtid.text, []) then
showmessage('数据重复');
比如有个表Table1,里面ID,XM两个字段,其中ID字段不能重复.有两条记录1,AAA和2,BBB.
如果我修改2,BBB记录,如果是改成1,BBB或3,BBB自然不会出问题,但如果用户不小心把2改了一下,又改回为2,这时一提交就会出问题了,程序会抱怨说ID为2的记录已经存在,不能提交.
老兄的這種方法在EDT沒有和數據庫綁定的時候是可以的,但是用到DBEDIT就不行了.
things(平)的方法确实不适用于数据绑定控件。
还有更好的方法吗?