with adoquery3 do begin close; sql.Clear ; sql.Text:='select * from yaoid where yaoid='''+trim(edit1.text)''''; open; if RecordCount=0 then insert into ....................... else begin MessageDlg('此药品ID已经存在', mtInformation,[mbOk], 0); exit; end; end;
IF not (Select Count(*) From TableName Where FieldName = FieldValue) = 0 --WHERE后面是你要判断是否重复的字段 Begin --执行插入语句 End
1.数据库上应建立关键字段主键 2.写入时判断关键字段值是否存在 select keyfield from tablename where keyfield=keyvalue if isempty then 不存在 else 存在 可以做成function (keyfield,tablename,keyvalue):boolean;
数据重复
--
1:判断一个字段
那就建立索引
2:判断所有字段
一个一个字段判断
1,有时候某些字段不适合建立索引。
2,如果有索引,当写入重复数据时,session会报错,必须写上错误处理语句。齐全的办法只有一种:写复杂一点的sql语句,在语句里加重复检查。
IF not (Select Count(*) From TableName Where FieldName = FieldValue) = 0 --WHERE后面是你要判断是否重复的字段
Begin
--执行插入语句
End
beginend
begin
close;
sql.Clear ;
sql.Text:='select * from yaoid where yaoid='''+trim(edit1.text)'''';
open;
if RecordCount=0 then
insert into .......................
else
begin
MessageDlg('此药品ID已经存在', mtInformation,[mbOk], 0);
exit;
end;
end;
Begin
--执行插入语句
End
2.写入时判断关键字段值是否存在
select keyfield from tablename where keyfield=keyvalue
if isempty then
不存在
else
存在
可以做成function (keyfield,tablename,keyvalue):boolean;