永发信息网

asp求和代码请您帮助!

答案:3  悬赏:80  手机版
解决时间 2021-08-19 01:57
  • 提问者网友:战魂
  • 2021-08-18 18:35

<%
   sql="select sum(shulian) from sell where huohao='bbhd001' and zu=false"
   if nowstartdate<>"" then
    sql=sql&" and selldate-#"&nowstartdate&"#>=0"
  end if
  if nowenddate<>"" then
    sql=sql&" and selldate-#"&nowenddate&"#<=0"
  end if
   if nowku<>"" then
     sql=sql&" and id_ku="&nowku&""
   end if
   if nowkeyword<>"" then
        sql=sql&" and (bianhao = '"&nowkeyword&"' or id_huiyuan in (select id from huiyuan where username like '%"&nowkeyword&"%') or id_login in (select id from login where username like '%"&nowkeyword&"%') or title like '%"&nowkeyword&"%' or huohao like '%"&nowkeyword&"%')"
     end if
   set rs_sum=conn.execute(sql)
   %>
   <%=formatnumber(rs_sum(0),2)%>

 

以上是我ASP求和代码,我要从sell表里面把每个单品的销售总数求出来,比如上面的我就是要把货号等于bbhd001这个产品在某一个时间段的销售求和,以上代码是能运行的,但是有个问题就是如果在查询的时间段内,该产品没有销售的情况下前台就会出错。说明,在销售时只是把销售了的数据写进了sell表,没有销售的在sell表里就没有记录,所以请高手指点修改以上代码,在查询时如果sell表里没有货号等于bbhd001这个产品销售的情况下就直接显示为0。谢谢!

最佳答案
  • 五星知识达人网友:人類模型
  • 2021-08-18 19:19

如果没有记录的话,你的求和值就为空,所以用formastnumber格式化的话就会出错


可以用isnull来判断



<%=formatnumber(rs_sum(0),2)%>


改为


<%


if isnull(rs_sum(0)) Then


 response.write  "0"


else


 formatnumber(rs_sum(0),2)%


end if


%>


看看

全部回答
  • 1楼网友:枭雄戏美人
  • 2021-08-18 20:41

换个sql语句就搞定了,

select sum(shulian) from ( select 0 shulian  from sell where huohao='bbhd001' and zu=false union all select shulian from sell where huohao='bbhd001' and zu=false)

这样就当没数据时就是0了,没必要再改程序了

  • 2楼网友:夜余生
  • 2021-08-18 20:18

忘了加上response.write

正确答案:

<%     if isnull(rs_sum(0)) Then     response.write  "0"     else     response.write formatnumber(rs_sum(0),2)     end if %>

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯