主题:  疑难重症

sunslee

职务:普通成员
等级:1
金币:0.0
发贴:107
#12003/6/17 13:05:41
<%
set conn=server.createobject("ADODB.Connection")
set rs=server.createobject("ADODB.Recordset")
conn.open "filedsn=e:\user\user.dsn"
rs.open "select username from user",conn
strsql="insert into user(username,password,name_corp,product,add_corp,pc,tel_corp,fax_corp,mobile,email,ip) values ('"&username&"','"&password&"','"&name_corp&"','"&product&"','"&add_corp&"','"&pc&"','"&tel_corp&"','"&fax_corp&"','"&mobile&"','"&email&"','"&ip&"')"
checked=0
do while not rs.eof
if rs("username")=username then
checked=1
else rs.open strsql,conn
end if
rs.movenext
loop
if Checked =1 then
response.Write("username is exist ,change another one! ")
Response.End
end if
%>
这里也有一段程序,也是循环出错,不能控制,我想控制注册时候用户名和库里面的核对,如果同名则要更换。请问这个怎么弄啊。我已经学以致用了,用checked来控制,而不是直接输出。



janlay

职务:管理员
等级:7
金币:28.0
发贴:7244
#22003/6/17 14:30:29
结构有些混乱。同一个rs对象,在没close之前不能在open

<%
set conn=server.createobject("ADODB.Connection")
conn.open "filedsn=e:\user\user.dsn"
set rs=conn.execute "select top 1 * from user where username='"& username &"'"
if rs.eof and rs.bof Then checked=0 else checked=1
if checked=0 Then
strsql="insert into user(username,password,name_corp,product,add_corp,pc,tel_corp,fax_corp,mobile,email,ip) values ('"&username&"','"&password&"','"&name_corp&"','"&product&"','"&add_corp&"','"&pc&"','"&tel_corp&"','"&fax_corp&"','"&mobile&"','"&email&"','"&ip&"')"
conn.execute strsql
else
response.Write("username is exist ,change another one! ")
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
%>