首页>>帮助中心>> 美国VPS AspCms错误号:3704 错误描述:对象关闭时,不允许操作

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

2024/8/15 237次
美国VPS AspCms错误号:3704 错误描述:对象关闭时,不允许操作


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


这篇文章主要介绍了错误号: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) thenfor each spec in sperStrssperStr =
sperStr&","&spec nextend 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) thensperStr=""for each spec in sperStrssperStr =
sperStr&","&spec nextend if


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


代码如下:


If Not DebugMode Then if Err
thenerrid=Err.number:errdes=Err.description:Err.Clear:dbConn.close:set
dbConn=nothing:isConnect=falseechoErr
err_03,errid,errdes&"sql="&sqlStrend ifend if


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

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


购买使用一诺网络美国服务器,可以极大降低初创企业、中小企业以及个人开发者等用户群体的整体IT使用成本,无需亲自搭建基础设施、简化了运维和管理的日常工作量,使用户能够更专注于自身的业务发展和创新。美国服务器低至49/月,购买链接:https://www.enuoidc.com/vpszq.html?typeid=3