注册 登录
编程论坛 ASP技术论坛

[求助]为什么按出生日期统计的各年龄段人数与比数据表中总人数少?

zln 发布于 2007-09-30 12:42, 1622 次点击

dim wuwu,liushi,liuwu,qishi,qiwu,jiuwu,sqlstr,conn



%>
</head>
<body>
<div align="center">
<%
set rs_zongrenshu = server.CreateObject("adodb.recordset")
rs_zongrenshu.open "select * from tuixiu",conn,3,1
zongrenshu = rs_zongrenshu.RecordCount
set rs_wuwu=server.CreateObject("adodb.recordset")
sqlstr = "select * from tuixiu where UserBirth between'19520101' and '19570101'"
rs_wuwu.open sqlstr,conn,3,1
wuwu = rs_wuwu.RecordCount
set rs_liushi=server.CreateObject("adodb.recordset")
sqlstr = "select * from tuixiu where UserBirth between'19470101' and '19510101'"
rs_liushi.open sqlstr,conn,3,1
liushi = rs_liushi.RecordCount



set rs_liuwu=server.CreateObject("adodb.recordset")
sqlstr = "select * from tuixiu where UserBirth between'19420101' and '19460101'"
rs_liuwu.open sqlstr,conn,3,1
liuwu = rs_liuwu.RecordCount

set rs_qishi=server.CreateObject("adodb.recordset")
sqlstr = "select * from tuixiu where UserBirth between'19370101' and '19410101'"
rs_qishi.Open sqlstr,conn,3,1
qishi=rs_qishi.Recordcount



set rs_qiwu=server.CreateObject("adodb.recordset")
sqlstr = "select * from tuixiu where UserBirth between'19320101' and '19360101'"
rs_qiwu.open sqlstr,conn,3,1
qiwu = rs_qiwu.RecordCount

set rs_jiuwu=server.CreateObject("adodb.recordset")
sqlstr = "select * from tuixiu where UserBirth between'19110101' and '19310101'"
rs_jiuwu.open sqlstr,conn,3,1
jiuwu= rs_jiuwu.RecordCount

%>
<strong>按年龄统计</strong>
</p>
</div>
<p>&nbsp; </p>
</div>
<table width="618" border="1" align="center">
<tr>
<td width="228"><div align="center">50-55(岁)</div></td>
<td width="374"><div align="center">
<%response.Write(wuwu)%>
人</div></td>
</tr>
<tr>
<td><div align="center">56-60(岁)</div></td>
<td><div align="center">
<%response.Write(liushi)%>
人</div></td>
</tr>
</table>

6 回复
#2
zln2007-09-30 13:12
UserBirth是文本型,在数据表中以19690201这样的形式存放的
#3
tianyu1232007-09-30 19:07

sqlstr = "select * from tuixiu where UserBirth between'19520101' and '19570101'"

SQL语句中年龄范围错误!

假如数据库中有个记录为 19570202 ,那么运用你上面的SQL语句是查不到的!但它却是属于50-55范围内的!

改为:

sqlstr = "select * from tuixiu where UserBirth between'19520101' and '19571231'"

同理!相应的其他也得改!

[此贴子已经被作者于2007-9-30 19:09:07编辑过]

#4
俗人谷2007-10-02 01:03
呵呵,受益受益,LS上高解,眼就是好使啊,呵呵
#5
wcwtitxu2007-10-06 06:40
19510101 至 19520101 之间的呢? 哪去了
#6
zln2007-10-15 15:52
谢谢楼主,在您的指点下问题已解决!
#7
cainiao1582007-10-15 22:26
晕,到底谁是楼主
1