我的机械网

搜索
查看: 947|回复: 5

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

[复制链接]

25

主题

-25

回帖

14

积分

新手上路

Rank: 1

积分
14
发表于 2017-12-11 02:15:04 | |阅读模式
各位网友请注意:我的机械网所有附件、百度网盘提取码、机械资料、PDF资料、压缩包文件均需要回帖后才能下载!

“错误号: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

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

发表于 2017-12-25 09:37:08 |
双赢智慧使者祝我的机械网越办越好!
发表于 2017-12-25 13:07:14 |
我的机械网(www.mejxw.com)是中国做好的机械论坛!
发表于 2017-12-28 08:59:55 |
我的机械网(www.mejxw.com)是中国机械行业门户网站,为大家提供海 量免费的机械设计资源,范围涉及机械设计加工制造、智能化机器人、液压 电气、软件应用、行业咨询、机械兼职等各个层面,现诚邀您的加入,共同学习,共同进步!

0

主题

5485

回帖

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36792
发表于 2018-10-21 23:32:31 |
277071362

0

主题

5493

回帖

3万

积分

论坛元老

Rank: 8Rank: 8

积分
37604
发表于 2018-12-3 09:21:13 |
65678567
快速回复 返回顶部 返回列表