关键字段防止重复录入?(20分)

A

AYing

Unregistered / Unconfirmed
GUEST, unregistred user!
D6+ACCESS2000,字段中有一关键字段,不能重复录入。本人在网上看到有人保存数据时用
查询(locate)来查找,若找到数据库中有同样记录,则不保存新记录。我想请教一下,用
这种方法好,还是用错误类来处理好?
 
“错误类处理”是一种统一处理方式,“查找”是一种专门处理方式。“错误处理”有助于你
在不打乱功能性代码的前提下统一处理多种错误,“查找”结合其他判断可以按你自己的流
程来做合法性校验。关于这两类方法的优劣,一直存在争议和探讨。你可以参看《程序员》,
忘了哪年的哪期了,专门讨论过。
你说说你的程序好吗?
 
我的意思是在记录很多的情况下(比如有几千条),用查找来做还是用错误来做,哪一种效率
更高。听说可以在数据库中用约束字段,这方法可行吗?您若知道,请教如何做?
 
插入记录时捕捉关键字重复异常!!!
 
赞同jsxjd,你自己取数据来一个一个比较肯定不会比数据库引擎自己去比较还快。
 
查找吧,快一些
 
我用locate来查找到重复纪录,很好用,至于异常处理,我没试过,不知道好不好,关注!
 
楼主的数据有几千条,自己在客户端数据集上查找肯定会慢的,应该用异常(就是他说的错误类处理)
 
两种答案,大家来讨论一下,最好给个代码
 
locate效率是相当高的,前提是你对相应字段建有索引。
如果是用SQL可以用Select,然后判断结果集是否为空。
 
在 PostError 中捕捉:
你用的是ADO,还是BDE
Ado 的关键字重复错误码 NativeError 为 884

 
赞同异常处理。简单速度快
 
插入时,当输入第一个字段的离开时,就检测是否有与此记录相同的,如果有光标就不能离开,
....
 
我比较喜欢查询字段,不喜欢DELPHI自己产生的错误机制!虽然慢一点,但是用的人不会感觉到的!
 
两种方案都有同样的拥护者,各位富翁们,请加进来大讨论吧!
 
如果仅仅是插入的话,错误类好些
如果要得到其他信息的话,查询类好
 
TO:leejames,jsxjd,nansha
LOCATE当记录正在增加时,好象不能使用吧!
 
同意:AYing
而且在修改某一记录时,使用也有问题
 
用SQL试试!
 
索引唯一,就行了呀,哪这么麻烦呀
不知道有没有理解错误
 
顶部