ADODB.Recordset 错误 '800a0cc1'

在对应所需名称或序数的集合中,未找到项目。

/xxx/xxx/productupdate.asp,行 217

我们打开该ASP文件,摸到217行,发现该行只一个<%=rs("p_viewNums")%>。呵呵,实不相瞒,这是一个“手工”更新商品浏览次数的功能(你懂的,嘿嘿!)。其它的先不管,我们来看看为什么会报错。

其实我们看到这个错误,第一眼的感觉就是记录集中不存在p_viewNums这个字段。而为什么会不存在呢,不外乎两种可能,一是p_viewNums这个字段名打错了,二是我们的查询语句select的时候,指定了字段名,而p_viewNums这个字段没有包含在select语句的查询规范内。仔细检查了一遍,这两种可能性都被排除了。那真正的原因又是什么呢?

原来,在这一行之前,我调用了一个函数,那个函数里面,有打开数据库连接,用完之后有关闭数据库连接。而巧的是,当前rs的数据库连接和函数中的数据库连接是用的同一个变量。于是问题就在这里了。应该就是当前rs的数据库连接被关闭了导致的。

于是,尝试了把上面调用函数的代码注释掉,再刷新页面,报错消失了。那问题最终就确认清楚了,修改方式就是将函数中数据库连接换了一下,两边功能都不影响即可。

简单总结一下,看到rs数据集找不到项目,不要死扣字段名和sql查询语句,要有更广的解决问题的思路。

关于数据库连接关闭导致rs数据集找不到项目,本文就介绍这么多,希望对您有所帮助,谢谢!

03-15 06:49