请问在sql2000中,各位是怎么进行校验的,,,,,急急急,再+100分 (50分)

  • 主题发起人 主题发起人 kingzi
  • 开始时间 开始时间
K

kingzi

Unregistered / Unconfirmed
GUEST, unregistred user!
问题是这样的:在sql2000中有个表w01_bmdm,该表有2个字段:部门代码,部门名称,
我想在该表中插入新纪录的时候进行检查,是不是已经有了重复值
该表中有记录:部门代码 部门名称
01 精神病院
02 疯人病院

当我在插入一个部门的时候进行检查部门代码是不是有重复的值,我是这样做的
adoquery1.sql.add('select * from w01_bmdm where 部门代码='+#39+edit1.text+#39);
adoquery1.open;
if adoquery1.RecordCount=0 then
begin
adotable1.active:=true;
adotable1.edit;
adotable1.append;
adotable1.FieldByName('部门代码').value:= edit1.Text;
adotable1.FieldByName('部门名称').value:= edit2.Text;
adotable1.post;
end else
showmessage('已经有该部门代码的部门,请另外指定部门代码');


各位看看,我的方法是不是很麻烦,有没有更高明的方法来检查表里的数据是不是已
经存在了呢
 
用主关键字
然后在OnPostError中提示用户

-----
http://www.8421.org
 
具体代码写一下好吗?我再给你分,多少都行
 
这样效率太低
还是用触发器吧 insert
 
在你的w01_bmdm表中建立一个唯一索引。PRIMARY KEY
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部