|
主题: 一个捆饶我两天的烦恼!!
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
#12003/8/30 13:04:26
<% qu=request.form("qu") %> <% hangye=request.form("hangye") %> <% dim rs,sql %> <% set rs=server.createobject("adodb.recordset") sql="select * from shenqing where hangyeid=' &hangye&' and hangye ='&qu&' order by dwid desc" rs.open sql,conn,1,1%> <% do while not rs.eof %> <%=rs("dwmc")%> <% rs.MoveNext Loop rs.close %>
经过测试 <% =request.form("qu") %> <% =request.form("hangye") %> 可以正确接受到船过来的数字(船过来来的直 就是数字) hangye,hangye全部是数字字段 但是以上代码运行很长时间 没有任何反映 系统资源急剧下降 最后SESSION超时
如果该成
sql="select * from shenqing where hangyeid=" &hangye&" and hangye =" &qu&" order by dwid desc" 错误类型: Microsoft VBScript 编译器错误 (0x800A0401) /cj/new_44yes1/myself/xiangxi-search-back.asp, 第 6 行, 第 45 列 sql="select * from shenqing where hangyeid=" &hangye&" and hangye =" &qu&" order by dwid desc"
|
janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#22003/8/30 13:38:32
<% qu=CLng(request.form("qu")) hangye=CLng(request.form("hangye")) dim rs,sql set rs=server.createobject("adodb.recordset") sql="select * from shenqing where hangyeid="& hangye &" and hangye="& qu &" order by dwid desc" conn.Execute(sql) do while not rs.eof Response.write " "& rs("dwmc") rs.MoveNext Loop rs.close Set rs=Nothing conn.Close Set conn=Nothing%>
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
#32003/8/30 14:13:19
<% dim conn dim connstr
on error resume next connstr="DBQ="+server.mappath("sta_db.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %> <% qu=CLng(request.form("qu")) hangye=CLng(request.form("hangye")) dim rs,sql set rs=server.createobject("adodb.recordset") sql="select * from shenqing where hangyeid="& hangye &" and hangye="& qu &" order by dwid desc" conn.Execute(sql) do while not rs.eof Response.write " "& rs("dwmc") rs.MoveNext Loop rs.close Set rs=Nothing conn.Close Set conn=Nothing%>
故障依旧 死循环
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
#42003/8/30 14:15:55
错误类型: Active Server Pages, ASP 0113 (0x80004005) 超过了脚本运行的最长时间。您可以通过指定 Server.ScriptTimeOut 属性值来修改此限制或用 IIS 管理工具来修改它。
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
#52003/8/30 14:24:00
conn.Execute(sql)????
rs.open sql,conn,1,1%> 不行么?
|
janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#62003/8/30 14:46:50
把on error resume next注释掉,看看哪里出问题了
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
#72003/8/30 14:55:55
<% dim conn dim connstr connstr="DBQ="+server.mappath("sta_db.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %> <% qu=CLng(request.form("qu")) hangye=CLng(request.form("hangye")) dim rs,sql set rs=server.createobject("adodb.recordset") sql="select * from shenqing where hangyeid="& hangye &" and hangye="& qu &" order by dwid desc" conn.Execute(sql) do while not rs.eof Response.write " "& rs("dwmc") rs.MoveNext Loop rs.close Set rs=Nothing conn.Close Set conn=Nothing%> ----------------------------- Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) /cj/new_44yes/myself/xiangxi-search-back.asp, 第 16 行 16 conn.Execute(sql)
|
janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#82003/8/30 16:34:22
写错了 Set rs=conn.Execute(sql)
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
#92003/8/30 17:03:10
<% dim conn dim connstr connstr="DBQ="+server.mappath("sta_db.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %> <% qu=CLng(request.form("qu")) hangye=CLng(request.form("hangye")) dim rs,sql set rs=server.createobject("adodb.recordset") sql="select * from shenqing where hangyeid="& hangye &" and hangye="& qu &" order by dwid desc" Set rs=conn.Execute(sql)%> <%do while not rs.eof Response.write " "& rs("dwmc") rs.MoveNext Loop rs.close Set rs=Nothing conn.Close Set conn=Nothing%>
----------------
错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) /cj/new_44yes/myself/xiangxi-search-back.asp, 第 14 行
Set rs=conn.Execute(sql)
|
ryonick
职务:普通成员
等级:2
金币:1.0
发贴:317
|
#102003/8/30 17:11:01
sql="select * from shenqing where hangyeid="& hangye &" and hangye="& qu &" order by dwid desc" 改为 sql="select * from shenqing where hangyeid='"& hangye &"' and hangye='"& qu &"' order by dwid desc" 试试
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
#112003/8/30 17:33:53
<% dim conn dim connstr connstr="DBQ="+server.mappath("sta_db.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %> <% qu=CLng(request.form("qu")) hangye=CLng(request.form("hangye")) dim rs,sql set rs=server.createobject("adodb.recordset") sql="select * from shenqing where hangyeid='"& hangye &"' and hangye='"& qu &"' order by dwid desc" Set rs=conn.Execute(sql)%> <%do while not rs.eof Response.write " "& rs("dwmc") rs.MoveNext Loop rs.close Set rs=Nothing conn.Close Set conn=Nothing%> -------------------------------- 错误类型: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) /cj/new_44yes/myself/xiangxi-search-back.asp, 第 14 行 Set rs=conn.Execute(sql)%>
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#122003/8/30 19:43:27
<% dim conn dim connstr connstr="DBQ="+server.mappath("sta_db.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %> <% qu=CLng(request.form("qu")) hangye=CLng(request.form("hangye")) dim rs,sql set rs=server.createobject("adodb.recordset") sql="select * from shenqing where hangyeid="& hangye &" and hangye="& qu &" order by dwid desc" rs.open sql,conn,1,1 %> <%do while not rs.eof Response.write " "& rs("dwmc") rs.MoveNext Loop rs.close Set rs=Nothing conn.Close Set conn=Nothing %>
|
cwlcwr78
职务:普通成员
等级:1
金币:1.0
发贴:149
|
|
whoisspider
职务:普通成员
等级:1
金币:1.0
发贴:245
|
#142003/8/31 23:16:07
看了经典那边的帖子: 既然你都确定了hangye和qu换个变量名就没问题了,那么你去查查看,是不是前面的程序代码或包含的文件中有没有已经有这些变量名了,变量名用dim先申请是个好习惯,防止已经变量名已经存在,虽然直接赋值能省略申请步骤(如果变量名前面不存在的话),但是很可能这个变量名已经申请过了,尤其是用别人的代码和多人开发中很容易碰到这个问题。这会给程序开发带来额外的困扰!如果变量名重复,用的时候类型不匹配还好,程序会立即报错,如果类型还一样,那就更头疼了,程序也许能不报错运行了,实际上逻辑已经被扰乱了,这时候查错才叫头疼,因为你很难定位导致错误的地方。
你还是去查查看hanqye,qu,hangye1,qu1是不是已经有了。 还有就是少用on error resume next,查错的时候更不要用! 程序中有错误就要解决掉,而不是让它掩盖起来执行下一条!
|
janlay
职务:管理员
等级:7
金币:28.0
发贴:7244
|
#152003/9/1 9:30:20
嗯,调试阶段不要用 on error resume next,它的作用是体面地结束程序运行(也有其他技巧,但不是主要的),对象是客户,而不是你自己
|