数据库连接关闭导致rs数据集找不到项目


关键词

数据库连接 数据集找不到项目

摘要

本文介绍一种ASP开发过程中的报错,提示数据集“未找到项目”,但实际上查询结果中肯定有此项目,找来找去,最终发现是因为数据库连接被关闭了。

我们先来看看这个错误提示:

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数据集找不到项目,本文就介绍这么多,希望对您有所帮助,谢谢!

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权


如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« ASP判断一个字符是否为整数 ASP数组定义 »

相关文章: