ASP连接数据库的问题,帮我看下代码。
<%tmpusername=request.form("username")tmppassword=request.form("password")tmpemail=re...
<%
tmpusername=request.form("username")
tmppassword=request.form("password")
tmpemail=request.form("email")
tmpqq=request.form("qq")
tmpsex=request.form("sex")
tmpfrom=request.form("from")
tmpbirthday=request.form("birthday")
tmparea=request.form("area")
set cn=server.createobject("adodb.connection")
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb")
cn.open strconn
set rs=server.createobject("adodb.recordset")
selstr="select * from user where username='" & tmpusername & "'"
rs.open selstr,cn
if not (rs.eof) then
response.write "<script language=JavaScript>" & "alert('该账号已被占用,请重新选择用户名!');" & "history.back();" & "</script>"
rs.close
set rs=nothing
cn.close
set cn=nothing
else
set cn=server.createobject("adodb.connection")
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb")
cn.open strconn
strin= "insert into user(username,password,email,qq,sex,from,birthday,area)"
strin=strin&"values('"&tmpusername&"','"&tmppassword&"','"&tmpemail&"','"&tmpqq&"','"&tmpsex&"','"&tmpfrom&"','"&tmpbirthday&"','"&tmparea&"')"
cn.execute strin
response.write "<script language=JavaScript>" & "alert('注册成功!');" & "history.back();" & "</script>"
end if
%> 展开
tmpusername=request.form("username")
tmppassword=request.form("password")
tmpemail=request.form("email")
tmpqq=request.form("qq")
tmpsex=request.form("sex")
tmpfrom=request.form("from")
tmpbirthday=request.form("birthday")
tmparea=request.form("area")
set cn=server.createobject("adodb.connection")
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb")
cn.open strconn
set rs=server.createobject("adodb.recordset")
selstr="select * from user where username='" & tmpusername & "'"
rs.open selstr,cn
if not (rs.eof) then
response.write "<script language=JavaScript>" & "alert('该账号已被占用,请重新选择用户名!');" & "history.back();" & "</script>"
rs.close
set rs=nothing
cn.close
set cn=nothing
else
set cn=server.createobject("adodb.connection")
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb")
cn.open strconn
strin= "insert into user(username,password,email,qq,sex,from,birthday,area)"
strin=strin&"values('"&tmpusername&"','"&tmppassword&"','"&tmpemail&"','"&tmpqq&"','"&tmpsex&"','"&tmpfrom&"','"&tmpbirthday&"','"&tmparea&"')"
cn.execute strin
response.write "<script language=JavaScript>" & "alert('注册成功!');" & "history.back();" & "</script>"
end if
%> 展开
1个回答
展开全部
永不着连接两次数据库吧。你前面已经连接过了,Else里面不用再连了的。
连接数据库的代码最好是单独放在一个页面,然后通过调用这个页面过来这样方便很多,不用
每次用到数据库都去打一遍这么长的代码。
写到一个名字叫conn.asp的文件去,然后要使用的使用用 <!--#include file="conn.asp"-->来调用。
set cn=server.createobject("adodb.connection")
strconn="driver={microsoft access driver (*.mdb)};dbq="&server.mappath("data.mdb")
cn.open strconn
追问
再连一次是因为我IF里关掉了数据库。
追答
if 和else的语句不能同时成立,你这个语句没有影响的哦。如果关掉的话那么下面的那些语句是不会再运行的哦。
得出:前面的数据库被关闭——代码运行结束,else里面的内容不成立。
else里面的内容成立则,数据库没有被关闭。
if else 是不能同时成立的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询