### ASP错误总结与解决方案 #### ADODB.Stream (0x800A0BBC) **问题描述**:在尝试上传文件时出现错误,原因是系统找不到指定的上传目录。 **解决方案**: 1. **检查路径配置**:确保在上传文件之前正确设置了上传文件的目标路径。 2. **权限验证**:确认服务器上的目标目录对当前应用程序具有读写权限。 3. **路径存在性验证**:在上传前使用代码验证目标目录是否已存在,如果不存在则创建之。 4. **代码示例**: ```vb Dim strFilePath strFilePath = Server.MapPath("/uploads/") If Not Dir(strFilePath, vbDirectory) Then MkDir strFilePath End If ' 此处进行文件上传操作 ``` #### (0x80020009) **问题描述**:当`Recordset`对象的当前记录指针所指向的记录中的某个字段值为空(NULL)时,试图访问该字段将引发异常。 **解决方案**: 1. **字段值验证**:在尝试访问字段之前先检查其值是否为NULL。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable", conn If Not rs.EOF Then If IsNull(rs.Fields("YourField")) Then ' 字段值为NULL Response.Write "字段值为NULL" Else Response.Write "字段值为: " & rs.Fields("YourField") End If End If ``` #### ADODB.Field (0x80020009) **问题描述**:同上,当`Recordset`对象的当前记录指针所指向的记录中的某个字段值为空(NULL)时,试图输出该字段将引发异常。 **解决方案**: 1. **字段值检查**:参照上面的解决方案,先检查字段值是否为NULL。 #### ADODB.Field (0x800A0BCD) **问题描述**:当前`Recordset`对象的指针所指向的记录不存在,即查询结果集中没有找到任何匹配的记录。 **解决方案**: 1. **记录集非空验证**:在处理记录集之前,先检查记录集是否包含数据。 2. **条件验证**:确认查询语句的条件是否正确设置,以确保能获取到预期的数据。 3. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable WHERE YourCondition", conn If Not rs.EOF And Not rs.BOF Then ' 记录集非空 Response.Write "记录集非空" Else ' 记录集为空 Response.Write "记录集为空" End If ``` #### ADODB.Recordset (0x800A0BB9) **问题描述**:在尝试打开`Recordset`对象时,由于未建立有效的数据库连接(`Connection`对象未打开)而引发错误。 **解决方案**: 1. **连接状态验证**:在使用`Recordset`对象之前,确保已经成功建立了数据库连接。 2. **连接示例**: ```vb Dim conn As New ADODB.Connection conn.Open "Provider=some_provider;Data Source=some_source;User ID=some_user;Password=some_password;" ``` #### ADODB.Recordset (0x800A0BCD) **问题描述**:当前记录集的记录指针已经位于表尾位置,继续调用`MoveNext`方法会引发错误。 **解决方案**: 1. **指针位置检查**:在调用`MoveNext`之前,先判断当前记录指针的位置。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable", conn Do Until rs.EOF Response.Write "当前记录ID为: " & rs.Fields("YourField") rs.MoveNext Loop ``` #### ADODB.Recordset (0x800A0C93) **问题描述**:在修改或添加完一条记录后,未调用`Update`方法更新记录集,就尝试关闭数据库连接。 **解决方案**: 1. **更新记录集**:确保在关闭数据库连接之前,已经通过调用`Update`方法保存了对记录集所做的所有更改。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable", conn rs.AddNew rs.Fields("YourField") = "New Value" rs.Update rs.Close conn.Close ``` #### ADODB.Recordset (0x800A0CB3) **问题描述**:在一个以只读方式打开的表中尝试插入新记录。 **解决方案**: 1. **打开模式设置**:确保在打开表时指定了允许插入操作的打开模式。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable", conn, adOpenDynamic, adLockOptimistic ``` #### ADODB.Recordset (0x800A0CC1) **问题描述**:在当前打开的表中,尝试访问一个不存在的字段。 **解决方案**: 1. **字段存在性验证**:在访问字段之前,先确认该字段存在于当前打开的表中。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable", conn If Not IsNull(rs.Fields("YourField")) Then Response.Write "字段值为: " & rs.Fields("YourField") Else Response.Write "字段不存在" End If ``` #### ADODB.Recordset (0x800A0E78) **问题描述**:在`Recordset`对象未打开的情况下尝试调用`Close`方法关闭它。 **解决方案**: 1. **记录集状态检查**:确保在调用`Close`方法之前,`Recordset`对象已经成功打开。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable", conn rs.Close ``` #### ADODB.Recordset (0x800A0E79) **问题描述**:一个`Recordset`对象已经打开了一个表,在未关闭当前表的情况下尝试打开另一个表。 **解决方案**: 1. **关闭当前记录集**:在尝试打开新的表之前,确保已经关闭了当前打开的记录集。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM Table1", conn rs.Close rs.Open "SELECT * FROM Table2", conn ``` #### ADODB.Recordset (0x800A0E7D) **问题描述**:在尝试打开记录集时,缺少必要的参数,如连接对象、打开模式等。 **解决方案**: 1. **参数完整性检查**:确保在调用`Open`方法时提供了所有必需的参数。 2. **代码示例**: ```vb Dim rs As New ADODB.Recordset rs.Open "SELECT * FROM YourTable", conn, adOpenStatic, adLockOptimistic ``` 以上列举的ASP错误及其解决方案涵盖了常见的开发过程中遇到的问题。针对每种错误类型,都给出了具体的解决思路及代码示例,帮助开发者快速定位并解决问题。通过遵循这些指导原则,可以有效避免或解决ASP开发中的常见错误。
























这是我学习asp几个月来总结的,希望对大家有所帮助
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)---变量的值为空(或缺少关键字)

- #完美解决问题
- #运行顺畅
- #内容详尽
- #全网独家
- #注释完整

- 粉丝: 2
- 资源: 12
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于自抗扰控制(ADRC)的永磁同步电机(PMSM)Simulink仿真及其实现
- 基于Java开发的金合可视化平台后端设计源码
- MATLAB/Simulink中基于ADRC的永磁同步电机控制系统仿真与优化
- 基于MCGS7.7的立体仓库触摸屏模拟仿真与调试技巧
- 永磁同步电机无位置传感器控制的Simulink仿真模型解析与参数调试
- 基于MATLAB的四挡变速器汽车连续加速时间计算与仿真
- 全桥LLC开关电源基于TMS320F28034的硬件设计与控制代码实现
- 基于ISWT的OFDM系统设计仿真:Matlab实现及优化技巧
- 机器人路径规划中S形速度曲线与几何路径叠加的MATLAB实现及其工业应用
- 自动驾驶领域中基于五次多项式的主动换道避撞控制方法及应用
- 激光烧蚀两相流COMSOL多物理场模型:流体传热、层流及水平集方法的详细解析
- 基于MATLAB的交互式多模型(IMM)目标跟踪算法实现及其应用
- Simulink中卷积码BPSK系统硬判决与软判决误码率性能仿真及对比
- OFDM-UWB系统中基于训练序列的同步算法及其Matlab实现详解
- COMSOL中铝合金激光双点烧蚀的多物理场耦合建模及应用
- COMSOL模拟六角晶格光子晶体四重简并狄拉克点及零折射率现象


