标题 | 错误号: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 如果有错误,程序代码会关闭数据。于是就出现了前文的错误 。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。