哪位大哥用帮小弟简化以下该程序段,在线!

wslmwslm 2002-05-12 09:28:21
tunit=Request.QueryString("单位")

Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db\lwpost.mdb")

Set rs = Server.CreateObject("ADODB.Recordset")
sql="select count(*) as sum_device from device where (所在单位名称='"&tunit&"' and 设备名称='微机') "
rs.open sql,conn,3,3
t1=rs("sum_device")

rs.close
sql="select count(*) as sum_device from device where (所在单位名称='"&tunit&"' and 设备名称='打印机') "
rs.open sql,conn,3,3
t2=rs("sum_device")

Set rs = Server.CreateObject("ADODB.Recordset")
sql="select count(*) as sum_device from device where (所在单位名称='"&tunit&"' and 设备名称='路由器') "
rs.open sql,conn,3,3
t3=rs("sum_device")

............‘还有很多

<%=t1%>
<%=t2%>
<%=t3%>
<%=t1+t2+t3%>
...全文
41 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
wslmwslm 2002-05-12
  • 打赏
  • 举报
回复
这次调用select次数更多了!
sdtashenjie 2002-05-12
  • 打赏
  • 举报
回复
function getCount(temp)
Set rs = Server.CreateObject("ADODB.Recordset")
sql="select count(*) as sum_device from device where (所在单位名称='"&tunit&"' and 设备名称='" & temp & "') "
rs.open sql,conn,3,3
rs.close
return rs("sum_device")
end function

用一个函数把设备作为参数,这只是个思路。

wslmwslm 2002-05-12
  • 打赏
  • 举报
回复
靠!就这么简单!!
不过,就必须调用两次select了,能只调用一次么?
saucer 2002-05-12
  • 打赏
  • 举报
回复
自己用个变量在循环纪录时累计
ChinaOk 2002-05-12
  • 打赏
  • 举报
回复
去掉后面的约束条件不就可以了
wslmwslm 2002-05-12
  • 打赏
  • 举报
回复
to saucer(思归) :
太感谢了!不过如何统计所有的'设备名称'呢?
saucer 2002-05-12
  • 打赏
  • 举报
回复
sql="select count(*) as sum_device from device where 所在单位名称='"&tunit&"' group by 设备名称"
wuya0531 2002-05-12
  • 打赏
  • 举报
回复
利用select case不知道可不可以
ChinaOk 2002-05-12
  • 打赏
  • 举报
回复
关注;不知道用group 结合count能不能实现。

28,409

社区成员

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

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