关于双表查询和删除的问题

tigerzhouli8888 2005-04-12 08:08:17
问题代码:
set rs=server.CreateObject("adodb.recordset")
sqlstr="select count(group.genusID) as groupCount from genus INNER JOIN [group] on genus.genusID = group.genusID where group.genusID="+mm_id
rs.open sqlstr,conn,1,3
if rs("groupCount")= 0 then
rs("isOpenGenus")= "no"
rs.update
问题提示:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

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

ADODB.Recordset 错误 '800a0cc1'

项目在所需的名称或序数中未被发现。

/thankyou/genusDel.asp,行12 :rs("isOpenGenus")= "no"

请各位帮忙告诉我问题出在哪里了?
...全文
172 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tigerzhouli8888 2005-04-16
  • 打赏
  • 举报
回复
set rs=server.CreateObject("adodb.recordset")
sqlstr="select count(group.genusID) as groupCount from genus INNER JOIN [group] on genus.genusID = group.genusID where group.genusID="+mm_id
rs.open sqlstr,conn,1,3
if rs("groupCount")= 0 then
rs.delete
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing

这是我新改的代码,可还是出错,提示:
数据库或对象为只读
请大家帮我看看到底是什么问题啊~
tigerzhouli8888 2005-04-14
  • 打赏
  • 举报
回复
set rs=server.CreateObject("adodb.recordset")
sqlstr="select genus.genusID,count(group.genusID) as groupCount,genus.isOpenGenus from genus INNER JOIN [group] on genus.genusID = group.genusID where group.genusID="+mm_id+" GROUP BY genus.genusID,genus.isOpenGenus"

这是我改过的代码。如果换成这样的话,页面无法显示,内部500服务器错误!
晕~
jim.ma 2005-04-14
  • 打赏
  • 举报
回复
你 sql 查询语句里 根本就没有输出 isOpenGenus 这个字段你 rs("isOpenGenus") 赋什么值呀?
光顶有啥用,贴的代码驴唇不对马嘴!还有那个 END IF
引用NT给你的信息

问题提示:
Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

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

ADODB.Recordset 错误 '800a0cc1'

项目在所需的名称或序数中未被发现。

/thankyou/genusDel.asp,行12 :rs("isOpenGenus")= "no"

请各位帮忙告诉我问题出在哪里了?
jchong110 2005-04-13
  • 打赏
  • 举报
回复
还有在select的后面还得加上 genus.genusID,group.genusID 这样应该没有问题了
jchong110 2005-04-13
  • 打赏
  • 举报
回复
sqlstr="select genus.isOpenGenus,count(group.genusID) as groupCount from genus INNER JOIN [group] on genus.genusID = group.genusID where group.genusID="+mm_id
中的 as groupCount 不要可不可心。然后输出的时候用rs(0) rs(1)不就OK了
晨星 2005-04-13
  • 打赏
  • 举报
回复
感觉你写的SQL不对,不符合你要做的事。
解释一下你的逻辑吧。
tigerzhouli8888 2005-04-13
  • 打赏
  • 举报
回复
忘记了一点,删除就是表genus中字段isoengenus值等于no~
tigerzhouli8888 2005-04-13
  • 打赏
  • 举报
回复
一个删除页面的代码。
取得记录genusID后,查询表group中genusID的记录数,如果,没有记录,删除genus表中的记录。否则,取消删除!
这是我的设计思路,不知道有没有问题。请教了~
tigerzhouli8888 2005-04-13
  • 打赏
  • 举报
回复
看来这20分是要废了啊~
Aspclass 2005-04-13
  • 打赏
  • 举报
回复
这样啊。。。你表中的genus 数据类理该为 数字型 或者 是否型
如果你的sql没错则行update 用于修改。
如果表中有了数据 删除一个字段是不行的,只能修改。。
tigerzhouli8888 2005-04-13
  • 打赏
  • 举报
回复
问题还没有得到解决~再顶一下啊~
tigerzhouli8888 2005-04-12
  • 打赏
  • 举报
回复
没人吗?自己顶下先~
tigerzhouli8888 2005-04-12
  • 打赏
  • 举报
回复
set rs=server.CreateObject("adodb.recordset")
sqlstr="select genus.genusID,count(group.genusID) as groupCount,genus.isOpenGenus from genus INNER JOIN [group] on genus.genusID = group.genusID where group.genusID="+mm_id+" GROUP BY genus.genusID,genus.isOpenGenus"
如果换成这样的话,页面无法显示,内部500服务器错误!
晕~
tigerzhouli8888 2005-04-12
  • 打赏
  • 举报
回复
end if在后面,我没有贴出来啊~
sqlstr="select genus.isOpenGenus,count(group.genusID) as groupCount from genus INNER JOIN [group] on genus.genusID = group.genusID where group.genusID="+mm_id
是这样吗?怎么不行呢?
晨星 2005-04-12
  • 打赏
  • 举报
回复
对了,你的if还缺少End if
晨星 2005-04-12
  • 打赏
  • 举报
回复
你的select语句中没有isOpenGenus这么个字段,recordset怎么会自动知道那是个什么东东。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧