发新话题
打印

[求助] asp与access连接问题2?

asp与access连接问题2?

做网页时出现错误:ADODB.Recordset (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/asp/ljw/newuseradd.asp, 第 91 行
我代码是:<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<% option explicit
   dim name,tel,addr,email,zip,pw1,pw2,temp
   dim founderr,errmsg
   founderr=false
   temp=request.Form("yonghuname")
   name=request.Form("name")
   if name="" then
   founderr=true
   errmsg="姓名不能为空!"
   end if
   pw1=request.Form("password1")
   pw2=request.Form("password2")
   if(pw1="" or pw1<>pw2) then
   founderr=true
   errmsg=errmsg & "密码错误!"
   end if
   tel=request.Form("tel")
   if tel="" then
   founderr=true
   errmsg=errmsg & "联系电话不能为空!"
   end if
   addr=request.Form("addr")
   if addr="" then
   founderr=true
   errmsg=errmsg & "联系地址不能为空!"
   end if
    email=request.Form("email")
   if email="" then
   founderr=true
   errmsg=errmsg & "e-mail不能为空!"
   end if
    zip=request.Form("zip")
   if zip="" then
   founderr=true
   errmsg=errmsg & "邮编不能为空!"
   end if
   if founderr then
   response.Write errmsg%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<p class="font">为了我们更好的为您服务,更准确及时地将您订购的商品送到您的手中并与您联系,请您务必详细填写您的信息,并核对无误;国内用户请留下您的真实中文姓名。<br>请放心:您的资料未经您的允许,我们将只用于处理您的订货信息,对外保密。<font face="Arial, Helvetica, sans-serif">(</font>带<font color="#ff0000"><strong><span class="main2">*</span></strong></font><span class="16v"><font color="#000080">号为必添项<font face="Arial, Helvetica, sans-serif">)</font></font></span></p>
   <form method="post" action="usercheck.asp">
   <p><table border="1" cellpadding="1" cellspacing="1" width="318" align="center">
   <tr>
     <td class="font" width="74">用户名</td>
     <td width="228"><%=temp%><input type="hidden" name="yonghuname" value="<%=temp%>"></td>
   </tr>
   <tr>
     <td class="font" width="74">姓名<font color="#ff0000"><strong><span class="main2">*</span></strong></font></td>
         <td width="228"><input type="text" name="name" size="20"></td>
   <tr>
     <td class="font" width="74">密码:<font color="#ff0000"><strong><span class="main2">*</span></strong></font></td>
         <td width="228"><input type="password" name="password1" size="20"></td>
   </tr>
   <tr>
     <td class="font" width="74">确认密码:<font color="#ff0000"><strong><span class="main2">*</span></strong></font></td>
    <td width="228"><input type="password" name="password2" size="20"></td>
   <tr>
     <td class="font" width="74">联系电话: <font color="#ff0000"><strong><span class="main2">*</span></strong></font></td>
         <td width="228"><input type="text" name="tel" size="20"></td>
   <tr>
     <td class="font" width="74">联系地址: <font color="#ff0000"><strong><span class="main2">*</span></strong></font></td>
         <td width="228"><input type="text" name="addr" size="20"></td>
   <tr>
     <td class="font" width="74">E-mail: <font color="#ff0000"><strong><span class="main2">*</span></strong></font></td>
         <td width="228"><input type="text" name="email" size="20"></td>
   <tr>
    <td class="font" width="74">邮编: <font color="#ff0000"><strong><span class="main2">*</span></strong></font></td>
    <td width="228"><input type="text" name="zip" size="20"></td>
         </table>
  <p align="center"><input type="submit" value="提交" name="B1"><input type="reset" value="全部重写" name="B2"></p>
  </form>

</body>
</html>
<%else
dim connstr,conn,rs,sql
connstr="dbq="+server.MapPath("mdb/shop.mdb")+";defaultdir=;driver={microsoft access driver (*.mdb)};"
set conn=server.CreateObject("adodb.connection")
conn.Open connstr
set rs=server.CreateObject("adodb.recordset")
sql="select * from guest"
rs.Open sql,conn,3,3
if rs.EOF=true then
   rs.MoveLast
end if
rs.addnew
rs("yonghuname")=temp
rs("name")=name
rs("password")=pw1
rs("tel")=tel
rs("addr")=addr
rs("zip")=zip
rs("email")=email
rs.Update
rs.close
conn.close
set conn=nothing
set rs=nothing
%>
<script language="javascript">
alert("已经成功添加了一条记录!谢谢!")
document.location="main.asp"
</script>
<% end if%>

TOP

你应该事先对shop.mdb进行下定义吧,

另请大家下次贴代码将有错的代码标以其他颜色显示,这样容易发现.


我找了半天才找到:L

TOP

另外帮大家整理了下各种脚本错误类型
Microsoft VBScript语法错误(0x800A03E9)-->内存不足
Microsoft VBScript语法错误(0x800A03EA)-->语法错误
Microsoft VBScript语法错误(0x800A03EB)-->缺少 ':'
Microsoft VBScript语法错误(0x800A03ED)-->缺少 '('
Microsoft VBScript语法错误(0x800A03EE)-->缺少 ')'
Microsoft VBScript语法错误(0x800A03EF)-->缺少 ']'
Microsoft VBScript语法错误(0x800A03F2)-->缺少标识符
Microsoft VBScript语法错误(0x800A03F3)-->缺少 '='
Microsoft VBScript语法错误(0x800A03F4)-->缺少 'If'
Microsoft VBScript语法错误(0x800A03F5)-->缺少 'To'
Microsoft VBScript语法错误(0x800A03F6)-->缺少 'End'
Microsoft VBScript语法错误(0x800A03F7)-->缺少 'Function'
Microsoft VBScript语法错误(0x800A03F8)-->缺少 'Sub'
Microsoft VBScript语法错误(0x800A03F9)-->缺少 'Then'
Microsoft VBScript语法错误(0x800A03FA)-->缺少 'Wend'
Microsoft VBScript语法错误(0x800A03FB)-->缺少 'Loop'
Microsoft VBScript语法错误(0x800A03FC)-->缺少 'Next'
Microsoft VBScript语法错误(0x800A03FD)-->缺少 'Case'
Microsoft VBScript语法错误(0x800A03FE)-->缺少 'Select'
Microsoft VBScript语法错误(0x800A03FF)-->缺少表达式
Microsoft VBScript语法错误(0x800A0400)-->缺少语句
Microsoft VBScript语法错误(0x800A0401)-->语句未结束
Microsoft VBScript语法错误(0x800A0402)-->缺少整型常数
Microsoft VBScript语法错误(0x800A0403)-->缺少 'While' 或 'Until'
Microsoft VBScript语法错误(0x800A0404)-->缺少 'While', 'Until' 或语句未结束
Microsoft VBScript语法错误(0x800A0405)-->缺少 'With'
Microsoft VBScript语法错误(0x800A0406)-->标识符过长
Microsoft VBScript语法错误(0x800A0407)-->无效数字
Microsoft VBScript语法错误(0x800A0408)-->无效字符
Microsoft VBScript语法错误(0x800A0409)-->未结束的字符串常量
Microsoft VBScript语法错误(0x800A040A)-->注释未结束
Microsoft VBScript语法错误(0x800A040D)-->无效使用 'Me' 关键字
Microsoft VBScript语法错误(0x800A040E)-->'loop' 语句缺少 'do'
Microsoft VBScript语法错误(0x800A040F)-->无效的 'exit' 语句
Microsoft VBScript语法错误(0x800A0410)-->循环控制变量 'for' 无效
Microsoft VBScript语法错误(0x800A0411)-->名称重定义
Microsoft VBScript语法错误(0x800A0412)-->必须是行中的第一个语句
Microsoft VBScript语法错误(0x800A0413)-->不能为 non-ByVal 参数赋值
Microsoft VBScript语法错误(0x800A0414)-->调用子程序时不能使用括号
Microsoft VBScript语法错误(0x800A0415)-->缺少文字常数
Microsoft VBScript语法错误(0x800A0416)-->缺少 'In'
Microsoft VBScript语法错误(0x800A0417)-->缺少 'Class'
Microsoft VBScript语法错误(0x800A0418)-->必须在一个类的内部定义
Microsoft VBScript语法错误(0x800A0419)-->在属性声明中缺少 Let , Set 或 Get
Microsoft VBScript语法错误(0x800A041A)-->缺少 'Property'
Microsoft VBScript语法错误(0x800A041B)-->在所有属性的规范中,变量的数目必须一致
Microsoft VBScript语法错误(0x800A041C)-->在一个类中不允许有多个缺省的属性/方法
Microsoft VBScript语法错误(0x800A041D)-->类的初始化或终止程序没有参数
Microsoft VBScript语法错误(0x800A041E)-->属性的 set 或 let 必须至少有一个参数
Microsoft VBScript语法错误(0x800A041F)-->错误的 'Next'
Microsoft VBScript语法错误(0x800A0420)-->'Default' 只能在 'Property' , 'Function' 或 'Sub' 中指定
Microsoft VBScript语法错误(0x800A0421)-->指定 'Default' 时必须同时指定 'Public' ")
Microsoft VBScript语法错误(0x800A0422)-->只能在 Property Get 中指定 'Default'
Microsoft VBScript 运行时错误(0x800A0005)-->无效的过程调用或参数
Microsoft VBScript 运行时错误(0x800A0006)-->溢出
Microsoft VBScript 运行时错误(0x800A0007)-->内存不足
Microsoft VBScript 运行时错误(0x800A0009)-->下标越界
Microsoft VBScript 运行时错误(0x800A000A)-->该数组为定长的或临时被锁定
Microsoft VBScript 运行时错误(0x800A000B)-->被零除
Microsoft VBScript 运行时错误(0x800A000D)-->类型不匹配
Microsoft VBScript 运行时错误(0x800A000E)-->字符串空间不够
Microsoft VBScript 运行时错误(0x800A0011)-->不能执行所需的操作
Microsoft VBScript 运行时错误(0x800A001C)-->堆栈溢出
Microsoft VBScript 运行时错误(0x800A0023)-->未定义过程或函数
Microsoft VBScript 运行时错误(0x800A0030)-->加载 DLL 时出错
Microsoft VBScript 运行时错误(0x800A0033)-->内部错误
Microsoft VBScript 运行时错误(0x800A0034)-->错误的文件名或号码
Microsoft VBScript 运行时错误(0x800A0035)-->文件未找到
Microsoft VBScript 运行时错误(0x800A0036)-->错误的文件模式
Microsoft VBScript 运行时错误(0x800A0037)-->文件已经打开
Microsoft VBScript 运行时错误(0x800A0039)-->设备 I/O 错误
Microsoft VBScript 运行时错误(0x800A003A)-->文件已存在
Microsoft VBScript 运行时错误(0x800A003D)-->磁盘已满
Microsoft VBScript 运行时错误(0x800A003E)-->输入超出了文件尾
Microsoft VBScript 运行时错误(0x800A0043)-->文件过多
Microsoft VBScript 运行时错误(0x800A0044)-->设备不可用
Microsoft VBScript 运行时错误(0x800A0046)-->没有权限
Microsoft VBScript 运行时错误(0x800A0047)-->磁盘没有准备好
Microsoft VBScript 运行时错误(0x800A004A)-->重命名时不能带有其他驱动器符号
Microsoft VBScript 运行时错误(0x800A004B)-->路径/文件访问错误
Microsoft VBScript 运行时错误(0x800A004C)-->路径未找到
Microsoft VBScript 运行时错误(0x800A005B)-->对象变量未设置
Microsoft VBScript 运行时错误(0x800A005C)-->For 循环未初始化
Microsoft VBScript 运行时错误(0x800A005E)-->无效使用 Null
Microsoft VBScript 运行时错误(0x800A0142)-->不能创建所需的临时文件
Microsoft VBScript 运行时错误(0x800A01A8)-->缺少对象
Microsoft VBScript 运行时错误(0x800A01AD)-->ActiveX 部件不能创建对象
Microsoft VBScript 运行时错误(0x800A01AE)-->类不能支持 Automation 操作
Microsoft VBScript 运行时错误(0x800A01B0)-->Automation 操作中文件名或类名未找到
Microsoft VBScript 运行时错误(0x800A01B6)-->对象不支持此属性或方法
Microsoft VBScript 运行时错误(0x800A01B8)-->Automation 操作错误
Microsoft VBScript 运行时错误(0x800A01BD)-->对象不支持此操作
Microsoft VBScript 运行时错误(0x800A01BE)-->对象不支持已命名参数
Microsoft VBScript 运行时错误(0x800A01BF)-->对象不支持当前区域设置
Microsoft VBScript 运行时错误(0x800A01C0)-->未找到已命名参数
Microsoft VBScript 运行时错误(0x800A01C1)-->参数是必选项
Microsoft VBScript 运行时错误(0x800A01C2)-->错误的参数个数或无效的参数属性值
Microsoft VBScript 运行时错误(0x800A01C3)-->对象不是一个集合
Microsoft VBScript 运行时错误(0x800A01C5)-->未找到指定的 DLL 函数
Microsoft VBScript 运行时错误(0x800A01C7)-->代码资源锁定错误
Microsoft VBScript 运行时错误(0x800A01CA)-->变量使用了一个 VBScript 中不支持的 Automation 类型
Microsoft VBScript 运行时错误(0x800A01CE)-->远程服务器不存在或不可用
Microsoft VBScript 运行时错误(0x800A01E1)-->无效图片
Microsoft VBScript 运行时错误(0x800A01F4)-->变量未定义
Microsoft VBScript 运行时错误(0x800A01F5)-->非法赋值
Microsoft VBScript 运行时错误(0x800A01F6)-->对象不能安全地使用 Script 编程
Microsoft VBScript 运行时错误(0x800A01F7)-->对象不能安全初始化
Microsoft VBScript 运行时错误(0x800A01F8)-->对象不能安全创建
Microsoft VBScript 运行时错误(0x800A01F9)-->无效的或无资格的引用
Microsoft VBScript 运行时错误(0x800A01FA)-->类没有被定义
Microsoft VBScript 运行时错误(0x800A01FB)-->出现一个意外错误
Microsoft VBScript 运行时错误(0x800A1398)-->缺少常规表达式对象
Microsoft VBScript 运行时错误(0x800A1399)-->常规表达式语法错误
Microsoft VBScript 运行时错误(0x800A139A)-->错误的数量词
Microsoft VBScript 运行时错误(0x800A139B)-->常规表达式中缺少 ']'
Microsoft VBScript 运行时错误(0x800A139C)-->常规表达式中缺少 ')'
Microsoft VBScript 运行时错误(0x800A139D)-->字符集越界
Microsoft VBScript 运行时错误(0x800A802B)-->未找到元素

ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
Microsoft OLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
Microsoft OLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
Microsoft OLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
Microsoft  OLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
Microsoft OLEDBProviderforODBCDrivers(0x80004005)-->打开数据库出错,没有在指定目录发现数据库
Microsoft OLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表

ODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表/字段错误或处于编辑状态,或不存在于conn打开的数据库中)
ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作)
ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句)
ADODB.Recordset(0x800A0CC1)-->rs对像出错(引用了一个不存在的字段名)
ADODB.Recordset(0x800A0E7D)-->conn定义错误
ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据
ADODB.Recordset(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)

TOP

大哥,我是菜鸟,教教我怎么定义吧

TOP

发新话题