蓝衣少年和蓝胸罩女:ASP高手给看看这两段代码是否有冲突?

来源:百度文库 编辑:高校问答 时间:2024/04/29 06:22:20
代码一:
<%
if request("action")="saveedit" then
sql="select * from user where username='" & session("username")&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,secondconn,1,2
newsauthor=rs("nickname")
rs.close
set rs=nothing

newstitle=trim(request.form("newstitle"))
newscontent=request.form("newscontent")

sql1="select * from news where id=" & request("id")
set rs1=server.createobject("adodb.recordset")
rs1.open sql1,secondconn,3,3

rs1("newstitle")=newstitle
rs1("newscontent")=newscontent
rs1("updatetime")=now()
rs1.update
rs1.close
set rs1=nothing
response.Redirect "index.asp"
end if
%>
<%
sql ="select * from news where id=" & request("id")
set rs=server.createobject("adodb.recordset")
rs.open sql,secondconn,1,2
%>
------------------------------------------------------------------
代码二:
<%
set rs=server.CreateObject("adodb.recordset")
sql ="select * from news order by newshit desc "
rs.open sql,secondconn,1,1
rs.movefirst
if rs.eof and rs.bof then
response.write "<p align='center'>目前没有新闻"
else
for i = 1 to 10
%>

代码2是代码1所在页面调用的一个模块,把代码2模块从代码1页面去除,则代码1可正常显示

怎么让两段代码同时正常显示?
代码2的结束语句
<%
rs.movenext
if rs.eof then exit for
next
end if
rs.close
set rs=nothing
%>

我想代码1可能是对应一条新闻的显示,而代码2是显示一个新闻列表,而代码1中没有关闭记录集的语句:
rs.close
set rs=nothing
记录集被重复打开,会出现错误,应该是这样的,如果你粘贴的代码是完整的

你把代码二里面的rs全部改成rs2(只要是代码一里面没有的名字就行)试试.有可能是rs重名了,
或者是因为
for i = 1 to 10
%> ....HTML布局
<%
rs.movenext
中间的HTML语句没有布局好,调试一下

你的rs重复设置对象,

在调用2的rs的时候又把rs对象关闭了

把代码2的rs改名,或者只定义成为一个函数,这样冲突的可能性小的多