ASP进行留言统计的时候出现代码错误,请高手帮忙看看代码
<%dimidid=request.querystring("id")%><bodybgcolor="#DCEEFC">【已有<fontcolor="red"><%set...
<%
dim id
id=request.querystring("id")
%>
<body bgcolor="#DCEEFC">
【已有<font color="red"><%
set rs = conn.execute("select iif(isnull(sum(tongjishuliang)),0,sum(tongjishuliang)) from qd_comment where movieid="&id&"")
response.write (rs(0))
rs.close
set rs =nothing
%></font></strong>位网友发表了看法,点击查看。】</a>
这是一段统计代码,ACCESS库,在没有数据的时候要让统计的值为0,有数据的时候就统计数据的条数,但是现在不论有数据还是没数据都显示的0,请高手帮忙看看呀。 展开
dim id
id=request.querystring("id")
%>
<body bgcolor="#DCEEFC">
【已有<font color="red"><%
set rs = conn.execute("select iif(isnull(sum(tongjishuliang)),0,sum(tongjishuliang)) from qd_comment where movieid="&id&"")
response.write (rs(0))
rs.close
set rs =nothing
%></font></strong>位网友发表了看法,点击查看。】</a>
这是一段统计代码,ACCESS库,在没有数据的时候要让统计的值为0,有数据的时候就统计数据的条数,但是现在不论有数据还是没数据都显示的0,请高手帮忙看看呀。 展开
展开全部
如果我没有说错的话,楼主的网站可能是一个电影网站,而这个要统计的表则是以某一个电影评论的表,然后在显示电影内容同时想直接显示出有多少人对这个电影进行了评论的.是不是这个意思?
而Access是一个桌面引擎的数据库不是一个服务器,他只支持ANSI-SQL而不支持Trans-SQL语句的!所以在使用聚合函数时一定要小心.像这样的统计绝对是不可取的!因为这样显然不够专业,让数据库执行的运算过大,而对数据库的优化是不够的!一般第一种考虑就是使用存储过程,这个在ACCESS中是受到支持的!可以使用传出参数与传入参数,只要一个就可以了,何必使用这么复杂的语句呢?根本就是对ACCESS不利的.因为本身ACCESS是桌面引擎,要将库中内容加到内存中进行查找的,这跟SQL有很大的不同的!
iif中再使用sum这样的聚合函数本身就是不利的!如果实在不想这样做的话,可以考虑使用一个计数聚合count就可以了!何必这样使用?基本上的判断是你的SQL语句出了问题的!这也是一种常用的小型的较小的数据库的使用方法的!
select count(*) from tablename where movieid='"&id&"'"
这里我只是估计你的id可能是一个字符型的,而不是数字型的,至于是什么型的,内外自己到数据库中去查看一下!然后用程序去判断select的结果是否有值,而不要直接使用两个聚合函数进行嵌套,本身聚合函数的执行效率并不太高的!
还有不明白的,可以问我!
而Access是一个桌面引擎的数据库不是一个服务器,他只支持ANSI-SQL而不支持Trans-SQL语句的!所以在使用聚合函数时一定要小心.像这样的统计绝对是不可取的!因为这样显然不够专业,让数据库执行的运算过大,而对数据库的优化是不够的!一般第一种考虑就是使用存储过程,这个在ACCESS中是受到支持的!可以使用传出参数与传入参数,只要一个就可以了,何必使用这么复杂的语句呢?根本就是对ACCESS不利的.因为本身ACCESS是桌面引擎,要将库中内容加到内存中进行查找的,这跟SQL有很大的不同的!
iif中再使用sum这样的聚合函数本身就是不利的!如果实在不想这样做的话,可以考虑使用一个计数聚合count就可以了!何必这样使用?基本上的判断是你的SQL语句出了问题的!这也是一种常用的小型的较小的数据库的使用方法的!
select count(*) from tablename where movieid='"&id&"'"
这里我只是估计你的id可能是一个字符型的,而不是数字型的,至于是什么型的,内外自己到数据库中去查看一下!然后用程序去判断select的结果是否有值,而不要直接使用两个聚合函数进行嵌套,本身聚合函数的执行效率并不太高的!
还有不明白的,可以问我!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-03-11
展开全部
不懂asp,不过你可以这样测试:
1。在页面输出id,看看到底有没有取到值。
2。将sql语句中的变量替换后,直接在数据库操作,看看有没有问题,能否查到数据。
估计就是这两个问题中的一个。
1。在页面输出id,看看到底有没有取到值。
2。将sql语句中的变量替换后,直接在数据库操作,看看有没有问题,能否查到数据。
估计就是这两个问题中的一个。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样就可以了
已有<%=Conn.ExeCute("SELECT COUNT(tongjishuliang) FROM qd_comment WHERE movieid="&id&"")%>位网友发表了看法,点击查看。
不行百度HI我,帮你解决
已有<%=Conn.ExeCute("SELECT COUNT(tongjishuliang) FROM qd_comment WHERE movieid="&id&"")%>位网友发表了看法,点击查看。
不行百度HI我,帮你解决
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询