错误号:3704错误描述:对象关闭时,不允许操作

   2015-08-02 0
核心提示:这篇文章主要介绍了错误号:3704 错误描述:对象关闭时,不允许操作,需要的朋友可以参考下

“错误号:3704 错误描述:对象关闭时,不允许操作。sql=select top 10 ContentID,a.SortID,a.GroupID,a.Exc.......”
inc/AspCms_MainClass.asp文件,大约900行,原来代码为:


复制代码
代码如下:

if str="content" or str="news" or str="product" or str="down" or str="pic" then
sperStrs =conn.Exec("select SpecCategory+'_'+SpecField from {prefix}SpecSet Order by SpecOrder Asc,SpecID", "arr")
if isarray(sperStrs) then
for each spec in sperStrs
sperStr = sperStr&","&spec
next
end if

我们修改为:


复制代码
代码如下:

if str="content" or str="news" or str="product" or str="down" or str="pic" then
sperStrs =conn.Exec("select SpecCategory+'_'+SpecField from {prefix}SpecSet Order by SpecOrder Asc,SpecID", "arr")
if isarray(sperStrs) then

sperStr=""
for each spec in sperStrs
sperStr = sperStr&","&spec
next
end if

因为程序在同一个页面循环{aspcms:content}标签时,原来的代码在后面再调用该标签时会不断累加 sperStr值,造成该标签数量越多,后面的SQL查询字段,而Access数据库,单表最多255个字段,SQL查询里面一次查询也最多不超过255个字段,当累加的字段数超过255个时,运行程序就会出错。此时,会引起inc/AspCms_MainClass.asp文件,大约152行的程序代码,内容是:


复制代码
代码如下:

If Not DebugMode Then

if Err then
errid=Err.number:errdes=Err.description:Err.Clear:dbConn.close:set dbConn=nothing:isConnect=false
echoErr err_03,errid,errdes&"sql="&sqlStr
end if
end if

如果有错误,程序代码会关闭数据。于是就出现了前文的错误 。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行