开发应用中错误收集参考文档
错误类型
adodbfield (xabcd)
bof 或 eof 中有一个是“真”或者当前的记录已被删除所需的操作要求一个当前的记录
原因你在利用sql查找数据库教程的记录时查找结果为空而且你没有对空记录的情况做出处理
解决如果你不相信查找结果为空那你应该考虑你的sql语句是否正确;如果确实有空的情况那你应该添加”if rseof then”或者”do while not rseof”之类的语句对eof的情况进行处理
错误类型
(×)
发生意外
原因也是在利用sql查找数据库记录时查找结果为空而且你在后面的代码中调用了rs(“aa”)之类的记录
解决要么同上加上rseof的判断和处理要么就是你的sql语句有误导致记录查不出来也就无法在后来使用rs(“aa”)的记录了
错误类型
active server pages asp (×)
找不到包含文件 ‘xxxasp
原因就如错误提示所说不存在这个包含文件
解决如果你确定有这个文件那么就是你的路径写错了比如说其实他相对于网站根目录的路径应该是inc/xxxasp那么include里面就应该写inc/xxxasp而不仅仅是xxxasp附include的写法是
错误类型
microsoft ole db provider for odbc drivers (×)
[microsoft][odbc microsoft access driver] 操作必须使用一个可更新的查询
原因这个在xp服务器上非常常见属于服务器的配置问题或者说是用户的权限问题
解决如果仅仅是在本机上调试出现的错误则右键点击网站所在的文件夹点击”共享和安全…”在”安全”中点添加…写入everyone然后再使这个用户的权限为所有即除了第一个外全部打勾确定之后再刷新就可以用了(注如果找不到“安全”选项则在任意一个文件夹下点击“工具”然后是“文件夹选项”“查看”在“使用简单文件共享”一栏把勾去掉即可)
错误类型
microsoft vbscript 编译器错误 (xa)
语句未结束
原因语法错误
解决按系统所提示的行来检查如果提示的恰好是本页的最后一行则很有可能是if语句忘记写”end if”啦select语句忘记写”end select”啦总之是需要end的地方没有end导致服务器找不到语句的结尾只好在最后一行显示错误
错误类型
microsoft jet database engine (xe)
至少一个参数没有被指定值
原因在写sql语句的时候我们经常会调用一些参数很可能这些参数中有一个没有被赋值
解决检查每一个参数的值是否真的传递过来了很可能有些参数其实是”"这样的参数去索引数据库当然是不行的
错误类型
microsoft jet database engine (xe)
microsoft jet 数据库引擎找不到输入表或查询 ‘aa 确定它是否存在以及它的名称的拼写是否正确
原因不存在这个表
解决应该是你写错了表名或者连错了数据库?再仔细核对一下吧!
错误类型
microsoft vbscript 运行时错误 (xad)
类型不匹配: [string: ""]”
原因是因为你的变量的类型是字符串型的而你却当作数字或者其他类型来使用
解决比如你需要数字的变量用来计算i=i+等数学运算那么应该在变量上使用cint(变量名)强制转换为数字型两个变量之间作比较也一定要是相同的类型因此也需要转换方法同上
错误类型
microsoft jet database engine (xe)
标准表达式中数据类型不匹配
原因一般也是在写sql语句时发生了错误即把数字型和字符串型的变量混淆了
解决很好办试一试把sql中变量加了”的去掉单引号或者把原先认为是数字的加上”再查看效果
错误类型
microsoft vbscript 运行是错误(xaa)
缺少对象”
原因很有可能是你没有对rs对象进行定义
解决别忘了写set rs=servercreateobject(“adodbrecordset”)这样可以定义对象;或者直接不用这种写法直接用connexecute(“sql”)这样会方便得多也不用考虑对象问题
错误类型
microsoft vbscript 运行时错误 (xae)
无效使用 null: ‘replace
原因无效使用函数的情况也比较多见包括split等这个道理也比较简单就是因为你replace的内容是空的
解决最好加一句if检验一下你要replace的内容是否为空
microsoft vbscript 编译器错误 错误 af′
odbc 驱动程序不支持所需的属性
原因可能是因为没有sql语句里出现的字段名一般为字段名或sql关键字书写错误也有可能是sql所要打开的表已经被独占打开
解决方法检查sql语句里出现的每个字段名和每个关键字
microsoft ole db provider for odbc drivers 错误 ′
机器 ‘hdzcjqskbwo′ 上的用户 ‘admin 以独占方式的锁定数据表order_detail
原因sql所需的表被access以表设计形式打开着
解决方法关闭表设计
microsoft vbscript 编译器错误 错误 af′
在对应所需名称或序数的集合中未找到项目
原因没有sql语句里出现的字段名一般为字段名或sql关键字书写错误
解决方法检查sql语句里出现的每个字段名
adodbrecordset 错误 ae′
对象关闭时不允许操作
原因在rsopen sqlconn语句之前使用了rsclose关闭了rs对象
解决方法去掉之前的rsclose
microsoft ole db provider for odbc drivers 错误 e′
[microsoft][odbc microsoft access driver] 语法错误 (操作符丢失) 在查询表达式 ‘oid form classtree where oid = ′ 中
原因在sql语句中存在非法书写的英文关键字或子段错误
解决方法把sql语句打出来然后逐个单词对照查找出书写的错误
操作要求一个可更新的查询
答看看库文件是不是只读了
答经过排序(order by) 的记录集(rs)不允许有更新操作(rsupdate)
操作在该内容中不被允许
答数据库字段属性是否设置为允许空值插入
aderrinvalidargument
xabb
应用程序使用的参数其类型错误超出可接受的范围或者与其他参数沖突
aderrnocurrentrecord
xabcd
bof 或 eof 为 true或者当前记录已经删除应用程序请求的操作需要当前记录
aderrillegaloperation
xac
应用程序请求的操作不允许出现在该上下文中
aderrintransaction
xacae
在事务中应用程序无法显式关闭 connection 对象
aderrfeaturenotavailable
xacb
提供者不支持应用程序请求的操作
aderritemnotfound
xacc
ado 无法在对应于应用程序请求的名称或顺序引用的集合中找到对象
aderrobjectincollection
xad
无法追加对象已经在集合中
aderrobjectnotset xadc 应用程序引用的对象不再指向有效的对象
aderrdataconversion
xadd
应用程序使用了不符合对当前操作的值类型
aderrobjectclosed
xae
如果对象关闭则不允许应用程序请求的操作
aderrobjectopen
xae
如果对象打开则不允许应用程序请求的操作
aderrprovidernotfound
xaea
ado 找不到指定的提供者
aderrboundtocommand
xaeb
应用程序无法用 command 对象将 recordset 对象的 activeconnection 属性更改为它的来源数据
aderrinvalidparaminfo
xaec
应用程序错误地定义了 parameter 对象
aderrinvalidconnection
xaed
应用程序通过引用关闭或无效的 connection 对象来请求对对象的操作
adodbfield 错误 ′ bof 或 eof 中有一个是“真”或者当前的记录已被删除所需的操作要求一个当前的记录
解决如下这个错误是因selectdelete的记录不存在或者库中没有记录所引起的所以检查sql语句selectdelete的条件是否正确还有在delete前最好select一个记录或者用on error resume next……on error goto 来处理如果是因为库中没记录只要加个判断if objrecordseteof and objrecordsetbof then就可以了因为打开recordset时指针默认是指在最面的所以可以只用if objrecordseteof then来判断
activeserverpagesasp(×)–>找不到包含文件
microsoftoledbproviderforodbcdrivers(xe)–>sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态或表不存在于conn打开的数据库中)
microsoftoledbproviderforodbcdrivers(xe)–>sql语句出错(字段名错误或数据类型不匹配)
microsoftoledbproviderforodbcdrivers(xe)–>sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配)
microsoftoledbproviderforodbcdrivers(xe)–>sql语句出错(要插入或更新的数据溢出)
microsoftoledbproviderforodbcdrivers(xe)–>sql语句出错(update字段名或要更新的数据类型错误)
microsoftoledbproviderforodbcdrivers(×)–>sql语句出错(要插入或更新的字段的数值不能为空值)
microsoftoledbproviderforodbcdrivers(×)–>打开数据库出错没有在指定目录发现数据库
microsoftoledbproviderforodbcdrivers(xe)–>没有发现表
microsoftvbscript运行时错误(xad)–>错误引用rs变量(rs对像已关闭或未定义)
microsoftvbscript运行时错误(xac)–>vbscript脚本错误(vbscript语句出错)
microsoftvbscript运行时错误(xa)–>vbscript脚本错误(溢出错误)
microsoftvbscript编译器错误(xae)–>缺少loop
microsoftvbscript编译器错误(xaea)–>缺少if或endif
microsoftvbscript编译器错误(xaee)–>语句未结束(缺少”)”)
microsoftvbscript编译器错误(xaf)–>if语句出错(缺少endif)
microsoftvbscript运行时错误(xab)–>缺少set
microsoftvbscript运行时错误(xa)–>变量未定义
microsoftvbscript编译器错误(xaf)–>if语句缺少then
microsoftvbscript编译器错误(xa)–>dim语句定义错误
adodbrecordset(xabb)–>sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误)
adodbrecordset(xacc)–>rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名)
adodbrecordset(xabcd)–>rs对像出错(记录集中没有记录却对记录集进行操作)
adodbrecordset(xae)–>rs对像出错(记录集不存在缺少rsopen语句)
adodbrecordset(xacc)–>rs对像出错(引用了一个不存在的字段名)
adodbrecordset(xaed)–>conn定义错误
adodbrecordset(xacb)–>数据库以只读方式打开无法更新数据
编译错误
这种错误出现一般都是代码的语法问题因为编译错误而导致辞asp停止运行
运行错误
这个错误是发生在你准备运行asp时的例如如果你试图给一个变量赋值但是却超出了该变量允许的范围
逻辑错误
逻辑错误是最难被发现的这种错误经常是一种结构错误电脑是发现不了的这就需要我们彻头彻尾地检查我们的代码