急~高手难题ASP

'定义数据库连接对象、记录集、字符串对象DimobjConn,objRS,strSQL1,strSQL2,strconn,DBDB="database/zhuche.md... '定义数据库连接对象、记录集、字符串对象
Dim objConn,objRS,strSQL1,strSQL2,strconn,DB
DB="database/zhuche.mdb"
strconn="driver={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath(DB)

'初始化数据库连接
Set objConn=Server.CreateObject("ADODB.Connection")
'数据库连接
objConn.Open strconn

'SQL语句
strSQL1="Insert into zhuche ( UserName,Passwd,RPasswd ) values ('"& UserName &"','"& Passwd &"','"& RPasswd &"')"
strSQL2="SELECT* FROM zhuche Where UserName='"& UserName &"'"

'记录集对象
Set objRS=Server.CreateObject("ADODB.Recordset")

'打开记录集对象
objRS.Open strSQL2,objConn,1,3,1

'如果记录为空,则表示该用户还没有被告注册
If objRS.EOF Then
objConn.Execute strSQL1
'关闭记录集
objRS.close

'重新打开记录集
objRS.Open strSQL2,objConn,1,3,1

'获取用户信息,并将其写入Session
If Session("IsPassed")<>TRUE Then
Session("id")=CStr(objRS.Fields("ID"))
Session("Name")=UserName
Session("IsPassed")=TRUE
End if

'关闭记录集,产释放对象
objRS.close
Set objRS=Nothing

'关闭连接,并释放对象
objConn.close
Set objConn=Nothing

'重定向到系统主页面
Response.Redirect"index.asp"
Response.End()

不知这段代码出什么错了,就是不能重定向到"index.asp",不过连接没有出错。麻烦大家看一下,找出错误
不是缺少空格的问题,而且不能向数据库插入数据 .四楼的那个答案也不是,因为我下面的代码里有End if了,所以还请大家再看一下。我测试的时候主要是在objConn.Execute strSQL1
这句话上出错,如果把它给删了就一切正常
展开
 我来答
琉砂宝宝
2010-10-13 · TA获得超过208个赞
知道答主
回答量:19
采纳率:0%
帮助的人:47.3万
展开全部
可能的问题:
1、这段有两个if条件语句 但是只有一个end if ,同时又有了Response.End(),所以问题相当大的可能就是,因为条件语句的不规范,同时使用了Response.End()导致不提示条件语句的语法错误,导致 你想要的执行方式 和 代码实际执行方式 不一致,故而没有进入插入操作的那个条件分支,我不清楚你这个代码条件到底是要怎么样的一种执行方式。
2、就是在数据集objRS使用完数据连接objConn后,是否释放了objConn的资源,objConn能否再进行Execute。

问题会纠结在这两个方面上,楼主看看改改吧!有问题可以Q我。

补充;
<%
Dim objConn,objRS,strSQL1,strSQL2,strconn,DB
DB="/usermessage.mdb"
strconn="driver={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath(DB)

'初始化数据库连接
Set objConn=Server.CreateObject("ADODB.Connection")
'数据库连接
objConn.Open strconn

'SQL语句
strSQL1="Insert into zhuche ( UserName,Passwd,RPasswd ) values ('"& UserName &"','"& Passwd &"','"& RPasswd &"')"
strSQL2="SELECT* FROM zhuche Where UserName='"& UserName &"'"

'记录集对象
Set objRS=Server.CreateObject("ADODB.Recordset")

'打开记录集对象
objRS.Open strSQL2,objConn,1,3,1

'如果记录为空,则表示该用户还没有被告注册
If objRS.EOF Then
objConn.Execute strSQL1
'关闭记录集
objRS.close

'重新打开记录集
objRS.Open strSQL2,objConn,1,3,1

'获取用户信息,并将其写入Session
If Session("IsPassed")<>TRUE Then
Session("id")=CStr(objRS.Fields("ID"))
Session("Name")=UserName
Session("IsPassed")=TRUE
End if

'关闭记录集,产释放对象
objRS.close
Set objRS=Nothing

'关闭连接,并释放对象
objConn.close
Set objConn=Nothing

'重定向到系统主页面
Response.Redirect "index.asp"
'Response.End()
end if
%>
我的代码如上,完全正常,表为空时,执行objRS.EOF的条件分支,并实现了insert和重定向;当表不为空时,不进入objRS.EOF,也就不执行代码!
AiPPT
2024-09-19 广告
作为北京饼干科技有限公司的工作人员,关于AIPPT免费生成PPT的功能,我可以简要介绍如下:AIPPT是一款基于人工智能技术的PPT制作工具,它为用户提供了免费生成PPT的便捷服务。用户只需简单输入PPT的主题或内容大纲,AIPPT便能智能... 点击进入详情页
本回答由AiPPT提供
xhcms
2010-10-14 · 超过63用户采纳过TA的回答
知道答主
回答量:179
采纳率:0%
帮助的人:184万
展开全部
鉴于你的问题。我们帮你修正代码如下:
<%
'定义数据库连接对象、记录集、字符串对象
Dim objConn,objRS,strSQL1,strSQL2,strconn,DB
DB="database/zhuche.mdb"
strconn="driver={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath(DB)

'初始化数据库连接
Set objConn=Server.CreateObject("ADODB.Connection")
'数据库连接
objConn.Open strconn

'SQL语句
Rem strSQL1="Insert into zhuche ( UserName,Passwd,RPasswd ) values ('"& UserName &"','"& Passwd &"','"& RPasswd &"')"
strSQL2="SELECT* FROM zhuche Where UserName='"& UserName &"'"

'记录集对象
Set objRS=Server.CreateObject("ADODB.Recordset")

'打开记录集对象
objRS.Open strSQL2,objConn,1,3,1

'如果记录为空,则表示该用户还没有被告注册
If objRS.EOF And ObjRs.Bof Then
Rem 修正代码从这里开始
Rem objConn.Execute strSQL1
ObjRs.AddNew
ObjRs("UserName") = UserName
ObjRs("Passwd") = Passwd
ObjRs("RPasswd") = RPasswd
ObjRs.Update

'获取用户信息,并将其写入Session
If Session("IsPassed")<>TRUE Then
Session("id")=CStr(objRS.Fields("ID"))
Session("Name")=UserName
Session("IsPassed")=TRUE
End if
End If
'关闭记录集,产释放对象
objRS.close:Set objRS=Nothing

'关闭连接,并释放对象
objConn.close:Set objConn=Nothing
Rem 代码修正完毕

'重定向到系统主页面
Response.Redirect"index.asp"
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lhmhbmsy
2010-10-13 · TA获得超过145个赞
知道小有建树答主
回答量:335
采纳率:100%
帮助的人:201万
展开全部
'定义数据库连接对象、记录集、字符串对象
Dim objConn,objRS,strSQL1,strSQL2,strconn,DB
DB="database/zhuche.mdb"
strconn="driver={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath(DB)

'初始化数据库连接
Set objConn=Server.CreateObject("ADODB.Connection")
'数据库连接
objConn.Open strconn
UserName=request.form("username") 'username是提交表单内的用户名名字
Passwd=request.form("password") 'password同上是密码名字
RPasswd=request.form("rpassword")
'SQL语句
strSQL1="Insert into zhuche ( UserName,Passwd,RPasswd ) values ('"& UserName &"','"& Passwd &"','"& RPasswd &"')"
strSQL2="SELECT* FROM zhuche Where UserName='"& UserName &"'"

'记录集对象
Set objRS=Server.CreateObject("ADODB.Recordset")

'打开记录集对象
objRS.Open strSQL2,objConn,1,3,1

'如果记录为空,则表示该用户还没有注册,先注册到表里
If objRS.EOF Then
objConn.Execute strSQL1
'关闭记录集
objRS.close
'重新打开记录集
objRS.Open strSQL2,objConn,1,3,1
End if

'获取用户信息,并将其写入Session
If Session("IsPassed")<>TRUE Then
Session("id")=objRS.Fields("ID")
Session("Name")=UserName
Session("IsPassed")=TRUE
End if

'关闭记录集,产释放对象
objRS.close
Set objRS=Nothing

'关闭连接,并释放对象
objConn.close
Set objConn=Nothing

'重定向到系统主页面
Response.Redirect"index.asp"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuxin8882004
2010-10-13 · TA获得超过313个赞
知道小有建树答主
回答量:1074
采纳率:0%
帮助的人:328万
展开全部
太复杂了
定向不了,加一个空格吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0e0a4c1
2010-10-13 · TA获得超过2606个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:430万
展开全部
难道真如他们所说,书写一点都不规范,哈哈

Response.Redirect("index.asp")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式