请问为什么运行到此就出错.

wkl_allen 2004-04-12 12:11:31
前题:数据库是从access导入到sql server中的.

sql="select ClassID,OrderID,child,ParentPath,PrevID,NextID From

ArticleClass where ParentID="&ParentID&" and OrderID<"&OrderID&"

order by OrderID desc"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,1,3
i=1
do while not rs.eof
tOrderID=rs(1)
conn.execute("update ArticleClass set

OrderID="&tOrderID+oldorders+i&" where ClassID="&rs(0))
if rs(2)>0 then
ii=i+1
set trs=conn.execute("select ClassID,OrderID From

ArticleClass where ParentPath like '%"&rs(3)&","&rs(0)&"%'

order by OrderID")
if not (trs.eof and trs.bof) then
do while not trs.eof
conn.execute("update ArticleClass set

OrderID="&tOrderID+oldorders+ii&" where ClassID="&trs(0))

ii=ii+1
trs.movenext
loop
end if
trs.close
set trs=nothing
end if
i=i+1
if i>MoveNum then
rs(4)=ClassID
rs.update

我进行了断点调试
程序总是执行到rs(4)=ClassID出错,敬请各位帮忙,解决问题者,一定多给分
总的报错:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

ADODB.Recordset 错误 '800a0cb3'

当前记录集不支持更新。这可能是提供程序的限制,也可能是选定锁定类型的限制。

/km/Admin_ClassOrderN.asp,行117

...全文
25 点赞 收藏 9
写回复
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wkl_allen 2004-04-12
楼上两位再细说一下好吗?
回复
diveas 2004-04-12
你以前access的自动编码都改过了吗?sql没有自动编码
回复
wdyxt 2004-04-12
rs(4)=ClassID
记录集不能这样重先付值,就用update更新整条记录
回复
wkl_allen 2004-04-12
我把sql server中classID改了一下,可是这样其它的功能就出现报错了啊
回复
wkl_allen 2004-04-12
请问classID那一列好象是自动的.而转到sql server之后是int型的,请问这一列的数据类型如何变呢.楼上的几位都提到这一点,请指示.
回复
wangshenkai 2004-04-12
数据库从ACCESS导到SQL里,如果你的列是自动增长的话,要吧,这一列的的数类型那变一下,

可能是数据库的错误
回复
zwonline99 2004-04-12
试一下:rs.open sql,conn,3,3
回复
rs(4)=ClassID
你的classid是不是作为变量的?好像没有赋值之类的那


s.movenext
loop
回复
szdhsoft 2004-04-12
rs(4)=classid你不要这样做,用rs("fieldname")=变量
你可以单条测试,如果不行检查字段属性
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告