ASP运行中常见的错误类型与解决方法 常见文件类型
错误类型如下:
错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
原因:你在利用SQL查找数据库的记录时,查找结果为空,而且你没有对空记录的情况做出处理。
解决:1 如果你不相信查找结果为空,那你应该考虑你的SQL语句是否正确;2 如果确实有空的情况,那你应该添加"if rs.eof then"或者"do while not rs.eof"之类的语句,对eof的情况进行处理。
错误类型:
(0x80020009)
发生意外。
原因:也是在利用SQL查找数据库记录时,查找结果为空,而且你在后面的代码中调用了rs("aa")之类的记录
解决:要么同上,加上rs.eof的判断和处理,要么就是你的SQL语句有误,导致记录查不出来,也就无法在后来使用rs("aa")的记录了。
错误类型:
Active Server Pages, ASP 0126 (0x80004005)
找不到包含文件 'xxx.asp'。
原因:就如错误提示所说,不存在这个包含文件。
解决:如果你确定有这个文件,那么就是你的路径写错了,比如说其实他相对于网站根目录的路径应该是inc/xxx.asp,那么include里面就应该写inc/xxx.asp,而不仅仅是xxx.asp。附:include的写法是:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。
原因:这个在XP服务器上非常常见,属于服务器的配置问题,或者说是用户的权限问题。
解决:如果仅仅是在本机上调试出现的错误,则右键点击网站所在的文件夹,点击"共享和安全...",在"安全"中点添加...,写入everyone,然后再使这个用户的权限为所有,即除了第一个外全部打勾,确定之后再刷新就可以用了。(注:如果找不到“安全”选项,则在任意一个文件夹下点击“工具”,然后是“文件夹选项”--“查看”,在“使用简单文件共享”一栏把勾去掉即可)
错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
语句未结束
原因:语法错误。
解决:按系统所提示的行来检查。如果提示的恰好是本页的最后一行,则很有可能是if语句忘记写"end if"啦,select语句忘记写"end select"啦,总之是需要end的地方没有end,导致服务器找不到语句的结尾,只好在最后一行显示错误。
错误类型:
Microsoft JET Database Engine (0x80040E10)
至少一个参数没有被指定值。
原因:在写SQL语句的时候,我们经常会调用一些参数,很可能这些参数中有一个没有被赋值。
解决:检查每一个参数的值是否真的传递过来了,很可能有些参数其实是"",这样的参数去索引数据库当然是不行的。
错误类型:
Microsoft JET Database Engine (0x80040E37)
Microsoft Jet 数据库引擎找不到输入表或查询 'AA'。 确定它是否存在,以及它的名称的拼写是否正确。
原因:不存在这个表。
解决:应该是你写错了表名,或者连错了数据库?再仔细核对一下吧!
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
类型不匹配: '[string: ""]''
原因:是因为你的变量的类型是字符串型的,而你却当作数字或者其他类型来使用。
解决:比如你需要数字的变量用来计算i=i+1等数学运算,那么应该在变量上使用cint(变量名),强制转换为数字型,两个变量之间作比较也一定要是相同的类型,因此也需要转换,方法同上。
错误类型:
Microsoft JET Database Engine (0x80040E07)
标准表达式中数据类型不匹配。
原因:一般也是在写SQL语句时发生了错误,即把数字型和字符串型的变量混淆了。
解决:很好办,试一试把SQL中变量加了''的去掉单引号,或者把原先认为是数字的加上'',再查看效果。
错误类型:
Microsoft VBScript 运行是错误(0x800A01A8)
缺少对象:”
原因:很有可能是你没有对rs对象进行定义。
解决:别忘了写set rs=server.CreateObject("adodb.recordset"),这样可以定义对象;或者直接不用这种写法,直接用conn.execute("SQL")这样会方便得多,也不用考虑对象问题。
错误类型:
Microsoft VBScript 运行时错误 (0x800A005E)
无效使用 Null: 'Replace'
原因:无效使用函数的情况也比较多见,包括Split等,这个道理也比较简单,就是因为你Replace的内容是空的。
解决:最好加一句IF检验一下你要replace的内容是否为空。
ASP常用错误类型
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件
MicrosoftOLEDBProviderforODBCDrivers(0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E57)-->sql语句出错(要插入或更新的数据溢出)
MicrosoftOLEDBProviderforODBCDrivers(0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值)
MicrosoftOLEDBProviderforODBCDrivers(0x80004005) -->打开数据库出错,没有在指定目录发现数据库
MicrosoftOLEDBProviderforODBCDrivers(0x80040E37)-->没有发现表
MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义)
MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错)
MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误)
MicrosoftVBscript编译器错误(0x800A040E)-->缺少loop
MicrosoftVBscript编译器错误(0x800A03EA)-->缺少if或endif
MicrosoftVBscript编译器错误(0x800A03EE)--> 语句未结束(缺少")")
MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺少endif)
MicrosoftVBscript运行时错误(0x800A005B)-->缺少set
MicrosoftVBscript运行时错误(0x800A0005)-->变量未定义
MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺少then
MicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误
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.Stream (0x800A0BBC)---上传文件时发生错误--找不到上传的目录
(0x80020009)---当前rs指针所指向记录的字段值为NULL,不能使用
ADODB.Field (0x80020009)---当前rs指针所指向记录的字段值为NULL,不能输出
ADODB.Field (0x800A0BCD)---没有找到相关记录,不能用rs("字段")取值
ADODB.Recordset (0x800A0BB9)---没有打开数据库(没有打开conn)(rs已经打开一个表,不能再用rs打开别的表)
ADODB.Recordset (0x800A0BCD)---记录指针已经指向表尾,不能再执行rs.movenext指令
ADODB.Recordset (0x800A0C93)---更改或添加完记录没有更新(rs.更新)就关闭链接(rs.close)
ADODB.Recordset (0x800A0CB3)---数据库操作错误(表在读的方式打开不能添加数据)
ADODB.Recordset (0x800A0CC1)---数据库操作错误(在打开的表中找不到指定的字段)
ADODB.Recordset (0x800A0E78)---数据库操作错误(rs没有打开表不能用rs.close结束)(rs已经关闭,不能再用rs读取数据)
ADODB.Recordset (0x800A0E79)---数据库操作错误(rs已经打开一个表,不能再打开别的表)
ADODB.Recordset (0x800A0E7D)---打开表错误(缺少参数)(有可能是忘了写",conn,1,1")
Active Server Pages, ASP 0126 (0x80004005)---找不到包含文件('conn.asp')
Microsoft JET Database Engine (0x80004005)---表已经被打开(或在设计表时),不能再执行打开操作
Microsoft JET Database Engine (0x80040E07)---查询条件错误(对字符型数据查询时要用单引号括起要查询的字符串)
Microsoft JET Database Engine (0x80040E10)---在指定的表中找不到此字段
Microsoft JET Database Engine (0x80040E14)---变量的值为空(或缺少关键字)
(有可能是格式写错了,没有where语句却多写了一个where)(没有传过来数据)
(可能是用了系统关键字,如果表名用user,就会出现此问题)
Microsoft JET Database Engine (0x80040E37)---找不到要打开的表
Microsoft VB脚本 运行时错误 (0x800A0006)---类型转换错误[cint(date())]
Microsoft VB脚本 运行时错误 (0x800A0009)---
Microsoft VB脚本 运行时错误 (0x800A000D)---类型转换错误(可能是传数据时格式写错了)(把rs--定义的adodb.recordset--写错了,系统错认为函数名了)
Microsoft VB脚本 运行时错误 (0x800A0046)---
Microsoft VB脚本 运行时错误 (0x800A005B)---不能直接用"="给对象赋值,要用"set 对象名=值"
Microsoft VB脚本 运行时错误 (0x800A005E)---字符替换出现错误
Microsoft VB脚本 运行时错误 (0x800A01A8)---rs已经关闭或是没有建立rs,没有打开conn
(rs没有打开表,不能执行关闭操作rs.close)(此表已经被打开,不能再打开)
Microsoft VB脚本 运行时错误 (0x800A01C2)---错误的命令行(不能执行的命令)
Microsoft VB脚本 编译器错误 (0x800A03EA)---语句格式错误(只有else,找不到if )
Microsoft VB脚本 编译器错误 (0x800A03EE)---语句格式错误(可能是少了一个括号)
Microsoft VB脚本 编译器错误 (0x800A03F2)---语句格式错误
[if int(request(new))=1 then]--应该为:request("new")
Microsoft VB脚本 编译器错误 (0x800A03F6)---语句格式错误(只有if,找不到end if)
Microsoft VB脚本 编译器错误 (0x800A03F9)---语法错误(else if中间有空格,缺少and,缺少then...)
Microsoft VB脚本 编译器错误 (0x800A03FA)---语句格式错误(while循环语句中,只有while,没有wend)
Microsoft VB脚本 编译器错误 (0x800A0400)---语法错误--语句不完整-语句块中有结尾没头(只有end select,找不到select case)(只有end if,找不到if)
Microsoft VB脚本 编译器错误 (0x800A0401)---语句格式错误[rs.open="select * from sou_slwz where id in ("&selectbookid&")",conn,1,3]
Microsoft VB脚本 编译器错误 (0x800A0408)---类型不匹配或语句格式写错了
Microsoft VB脚本 编译器错误 (0x800A0411)---变量已经定义过
Microsoft VB脚本 编译器错误 (0x800A0414)---
Active Server Pages, ASP 0126 (0x80004005)---找不到包含文件(如找不到conn.asp)
Active Server Pages 错误 'ASP 0116'---缺少关闭脚本分隔符(如只有"<%"而没有"%>")
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
/jk/vote/votesave.asp, 第 12 行
5 v_opti&votevalues
12 rs(v_optionname)=rs(v_optionname)+1
原因:rs的字段名不能是变量
错误类型:
Microsoft VBScript 运行时错误 (0x800A000D)
/jk/vote/votesave.asp, 第 18 行
17if votevalues=1 then
18rs("v_option1")=rs("v_option1")+1
原因:rs("v_option1")是字符串,不是数值,不能做加法运算
Microsoft VBScript 编译器错误 (0x800A0411)
/jk/index.asp, 第 9 行, 第 4 列
function checkurl(fstring)
dim fstring,len2
---^
解决:在函数中不能定义fstring这一变量
Microsoft VBScript 编译器错误 (0x800A0411)
/jk/service/techlist.asp, 第 108 行, 第 4 列
dim pagespan
---^
原因:重复定义
错误类型:
Microsoft VBScript 运行时错误 (0x800A005E)
/jk/vote/votesave.asp, 第 16 行
16 rs("v_count1")=CLng(rs("v_count1"))+1
原因:rs("v_count1")的初始值为null
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80040e21''
多步 OLE DB 操作产生错误。请检查每个 OLE DB 状态值。没有工作被完成。
/bangong/public/adddoc3.asp,行45
44 rsnew.addnew
45 rsnew("fileid")=fieldid1
46 rsnew("send")=session("name")
原因:rsnew("fileid")已经设定为标识种子,而fieldid1是人为指定的id,当最后一条纪录被删除后,重新添
加的id必须是最末的id+2而不是id+1,因此出错。
修改:去掉rsnew("fileid")=fieldid1一行
错误类型:
Microsoft VBScript 编译器错误 (0x800A0400)
/jk/product/newproduct.asp, 第 284 行, 第 32 列
if rs("data").actualsize>0 then and rs("prodcat")=3 then
原因:语法错误,多了一个then
错误类型:
请求对象, ASP 0208 (0x80004005)
调用 BinaryRead 后不能使用一般 Request 收集。
/jk/manager/fonews/fonewsadd_3.asp, 第 21 行
21 str2="select * from tblfonews where ID="&request("ID")
错误类型:
请求对象, ASP 0208 (0x80004005)
调用 BinaryRead 后不能使用一般 Request 收集。
/jk/manager/fonews/fonewsadd_3.asp, 第 64 行
64 ">查看记录
解决:用id2=request("ID")来代替request("ID")
21 str2="select * from tblfonews where ID="&id2
64 查看记录
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
/jk/service/serlist.asp, 第 134 行
sql2="select * from sevice where ser_city="&request("city")&""
rs2.open sql2,conn,1,3
原因:sql语句错误,sevice应为service
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
/jk/service/serlist.asp, 第 174 行
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80040e21''
ODBC 驱动程序不支持所需的属性。
/product/prodlist.asp,行338
sqls="select series_id,series_name from prodseries where series_id="&rs("series_id")&""
338 rss.open sqls,conn,1,1
原因:prodseries 表不存在,改为jke_prodseries
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80040e21''
原因:正在用access修改数据库,不能访问
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E37)
/jk/service/serlist.asp, 第 134 行
sql2="select * from service where ser_city="&request("city")&""
rs2.open sql2,conn,1,3
原因:ser_city=''"&request("city")&"''"必须加单引号
错误类型:
Active Server Pages, ASP 0113 (0x80004005)
超过了脚本运行的最长时间。您可以通过指定 Server.ScriptTimeOut 属性值来修改此限制或用 IIS 管理工具
来修改它。
/zs/index.asp
原因:数据库无法连接
错误类型:
Microsoft VBScript 编译器错误 (0x800A0401)
/dv/chkuser.asp, 第 8 行, 第 61 列
membername=checkStrrequest.cookies("VistaGroups")("username"))
------------------------------------------------------------^
改为:membername=checkStr(request.cookies("VistaGroups")("username"))
错误类型:
Microsoft VBScript 编译器错误 (0x800A0411)
/jk/manager/product/seriesedit.asp, 第 39 行, 第 17 列
dim strconn,conn,rs,sql,series_name,meno,lockpic,prodname,l,ch,i,prodcat
----------------^
原因:参数重复定义
错误类型:
Microsoft VBScript 编译器错误 (0x800A0408)
/jk/manager/product/seriesedit.asp, 第 133 行, 第 45 列
if trim(rs("prodcat"))="" then response.write " selected"
更多阅读
手机无法搜索到蓝牙耳机的可能原因以及解决方法 搜索不到蓝牙耳机
使用蓝牙耳机的人数越多,其出现的问题也就越多,但是大多数都不是蓝牙耳机自身的问题,大多是人们不会使用的缘故。现在由QCY蓝牙耳机的客服来总结说一下手机无法搜索到蓝牙耳机的可能原因以及相对应的解决方法吧。1、蓝牙耳机不是开机
网页自动弹出的原因分析与解决方案 oom的原因及解决方案
网络在日常生活中给我们带来了快乐,让我们在闲暇之余可以放松,可是,有些不法分子为了自己运营的网站获取高额的点击率,恶意发布木马、病毒等一些能让网页无规律自动弹出的东西,这让我们在上网的时候很不愉快。为了不让这些人逍遥法外,今天
格林童话中真实的小红帽与白雪公主 格林童话之小红帽
三联新出了一本书:小红帽—— 一则童话三百年的演变。里面描述了小红帽从一个含有色情隐喻的故事,是如何转变成今天我们所知道的童话。 其实在很久很久之前,就曾经有人提过邪恶的格林童话这件事情。在最初的格林童话里面,小红帽是被
专题:关于中学生的早恋问题(5)分析学生早恋的原因利弊与解决方法
(四)早恋的五大特性中学生早恋同时还兼具五大特性:一是朦胧性,对两性间的爱慕似懂非懂,不知何为爱。二是单纯性,只觉得和对方在一起很愉快,缺乏成年人谈恋爱对家庭、政治、经济等多方面的理智考虑。三是差异性,表现为女生有早恋的较早、较多
ASP运行中常见的错误类型与解决方法 常见文件类型
asp建站可能会遇到了很多问题,想想大家可能也会遇到这类的问题,在网上也找了一些资料,来和大家一起分享,有些是经历过的,有些是网上给予来的,还希望大家能一起来研究和讨论,有不足的,一起来填补。。错误类型如下:错误类型:ADODB.Field (0x800A