asp死循环???

来源:百度知道 编辑:UC知道 时间:2024/05/04 21:50:58
<% set conn=Server.CreateObject("adodb.connection")
db="/vb/data/hello.mdb"
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
set conn=server.createobject("ADODB.CONNECTION")
conn.open connstr
if Request.Form("aa") <>"" then
texta=Request.Form("aa")
set rs=conn.execute(aa)
else
set rs=conn.execute("select * fron name")
end if
rs.close
conn.close
%>
<%
do while not rs.eof
Response.Write("<br>"& "<center>"&rs("name"))
rs.movenext
loop
rs.close
conn.close
%>

这样子是不是死循环??
如果不是死循环为什么我一运行这个脚本。。内存使用就直线上升。。直到死机

不是死循环啊
因为set rs=conn.execute("select * fron name")
写的不对啊,单词错了应该是form不是fron

db="/vb/data/hello.mdb"
数据库路径不正确,应该转换成绝对路径;使用app.Path关键字

set rs=conn.execute("select * fron name")
应修改为:
set rs=conn.execute("select * from name")

if Request.Form("aa") <>"" then
texta=Request.Form("aa")
set rs=conn.execute(aa)
修改为:
if Request.Form("aa") <>"" then
texta=Request.Form("aa")
set rs=conn.execute(texta)

你已经关闭了RS和CONN对象,应该将第一个rs.close
conn.close
删除。

原因是多方面的,例如数据库路径不对,set rs=conn.execute(texta)误为set rs=conn.execute(aa),由于aa是空字符串,无法连接;等等等等。

1.set rs=conn.execute("select * from name")
2.如果from没错,那么死机跟这段程序应该没什么关系
因为里边只有一个while循环
所以一定和这个while循环有关,但跟这段代码没有关系
是因为 在while上边
rs已经关闭了:rs.close
如果运行就会出错并提示你,记录集已经关闭了。但是你没有提示反而死机,这很有可能