回 帖 发 新 帖 刷新版面

主题:新手求助,请帮忙看一下,谢谢先

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>login_p.asp</title>
</head>

<body>
<%
application.lock
on error resume next
set cnn=server.CreateObject("ADODB.Connection")
cnnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
       server.mapPath("db2.mdb")
cnn.open cnnStr

set rs=Server.CreateObject("ADODB.RecordSet")
rs.open "member",cnn,3,2    'member表只有两个字段"用户名"和"密码",表中没有记录
rs.addNew   '第 19 行
rs("用户名")=request("UserName")
rs("密码")=request("PassWord")
rs.update
rs.close
cnn.close
application.unlock
%>

<%
if err then
response.write "<br>" & err.number & "<br>"
response.write "<br>" & err.description & "<br>"
end if
%>

</body>

</html>

运行上面代码显示下列错误

3021

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

去掉on error resume next语句则显示以下信息

技术信息(适用于支持人员)

    * 错误类型:
      Microsoft JET Database Engine (0x80040E09)
      /web/login_p.asp, 第 19 行

    * 浏览器类型:
      Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

    * 页:
      POST 48 bytes to /web/login_p.asp

    * POST 数据:
      UserName=111&PassWord=111&Email=&B1=%CC%E1%BD%BB

    * 时间:
      2008年4月23日, 18:17:04

    * 详细信息:
      Microsoft 支持

请问错误到底出在哪里?

回复列表 (共6个回复)

沙发

rs.open "member",cnn,3,2
这里的第一个参数应该是sql语句,而不是表名。应该这样写

rs.open "select * from member",cnn,3,2

板凳

改成rs.open "select * from member",cnn,3,2
还是出现相同错误

3 楼

请问一下二楼,我使用的是xp sp2,本身是没有IIS5.0的,按网上的文章中写的方法安装了IIS5.0,这样安装的IIS5.0会不会存在问题

4 楼

从网上下载了一个微型asp调试器600k,用它调试后没有出现上面的错误

5 楼

推论:好像按网上的方法在xp sp2上安装的IIS5.0存在问题

6 楼

请问大家一般用哪种工具调试asp的?

我下载的asp调试器(大小633k,Powered by NetBox),不用iis,用该调试器调试通过的asp页不会有什么问题吧?

我来回复

您尚未登录,请登录后再回复。点此登录或注册