vb+access查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:36:09
我想在ADMIN表中插入一条新记录,但是如果此记录的用户名ADMIN_login在表中已经存在,则重新输入,即不允许出现用户名重复的现象,那位帮忙解决以下哈,谢了。
我的代码如下,运行后即便输入的新记录用户名在表中不存在也会出现用户名已经存在的提示,也就是说无法添加新记录到表中,可能是我判断用户名是否重复那块儿出问题了,但我不知道怎么解决,拜托各位啦。。。

前面的部分代码略去。。。。。

txtLogin = "selsect ADMIN_name from ADMIN where ADMIN_login = '"
& Text2.Text & "'"
If txtLogin =Null Then
rs.Open "insert into ADMIN(ADMIN_name,ADMIN_login,ADMIN_passwd,ADMIN_power)values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','1' )", conn, 2, 2
Unload Me
MsgBox ("新用户添加成功!")
Exit Sub
Else
MsgBox "用户登录名称已存在,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text1.SetFocus
Exit Sub
End If
按照murphylau的答案改了之后,出现的问题是下面语句处“对象打开时,不允许操作”,请帮忙看看。
rs

txtLogin = "selsect ADMIN_name from ADMIN where ADMIN_login = '"
& Text2.Text & "'"

rs.open txtLogin , conn,1,1 '**********

If rs.bof and rs.eof Then '**********
rs.Open "insert into ADMIN(ADMIN_name,ADMIN_login,ADMIN_passwd,ADMIN_power)values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','1' )", conn, 2, 2
Unload Me
MsgBox ("新用户添加成功!")
Exit Sub
Else
MsgBox "用户登录名称已存在,请重新输入!", vbOKOnly + vbExclamation, "警告"
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text1.SetFocus
Exit Sub
End If

If txtLogin =Null Then
你就只判读txtLogin是否为null,只要不是null就会执行Else 语句,也就是用户登录名称已存在,你应该先将输入的名称做条件查询数据库,当记录为空(rs.eof)的时候执行添加操作,记录不为空的时候提示用户存在