如何判断往数据库中写数据出现重名的现象!!(50分)

  • 主题发起人 主题发起人 wangjyy
  • 开始时间 开始时间
W

wangjyy

Unregistered / Unconfirmed
GUEST, unregistred user!
在往一个表中写数据,如何判断这个写入的数据是否重名?
以下事件对吗?
Procedure FfrmRole.ADOTable1BeforePost(Dataset: Tdataset);
begin
if EDIT1.TEXT := ADOTable1.FieldByName('RoleName').AsString then
begin
ShowMessage('重名了');
EDIT1.Clear;
end
else
if EDIT1.Text :='' then
begin
ShowMessage('对不起,身份不能为空!');
end
end;
请问是不是在传送表数据前写该事件!
 
不对。
Procedure FfrmRole.ADOTable1BeforePost(Dataset: Tdataset);
begin
首先你在库里查一下有没有EDIT1.TEXT 的这一条数据。

 
写数据前先用个query查询一下是否有同名
的纪录.
 
你可以把这个不能重复的字段在数据库中设定为
主键,这样如果添加的时候出现重复数据时,可
以通过 try....except 来捕抓到异常,然后提示
用户就可以了。
 
先查找一下吧
 
先用Query查找一下,这条记录是不是已经存在,
 
先Query一下,或者设定主键都可以。
在POST前写就行。
 

用Query查找,确定该名称在数据表记录中是否存在,。
或者定义该字段为一个主键.
你的那个事件只能处理当前的一条记录,而不能判断表中的所表记录。
因此你那样写代码是检查不出重名 的.
 
ID:=1216060有完整的答案.
 
你可以将字段名设置为关键字,就不会出现重名的现象
 
同意xeen的建议
 
后退
顶部