日期:2011-06-09  浏览次数:20742 次

较长text型数据无法在Asp页面中取出的解决办法

在Asp页面中向记录集取长text型数据时,出现如下错误现象时:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

Errors occurred

可有以下三种解决办法:

(一)使用rs.open sql,conn,1,3方式打开记录集

(二)将该列放在第一列取出,比如comment里存放有较长的text内容,取记录集内容的时候,先来个comment=rs("comment")把这个捣蛋的东西先取出来放到内存变量中,然后再操作其它的字段。由于一般长text内容不会在第一个显示,因此一般都要取出来放到内存变量中。

(三)改为oledb方式连接数据库。在此方式连接数据库时,不会出现该错误(起码我没有遇到过)。在我的系统中,将现在的oledb连接方式改成odbc连接方式后,错误就马上出现了。

此错误怀疑是由于Asp向odbc返回的记录集取数据的机制有些问题造成。建议采用第三种方法避免该错误。