中易网

ASP利用select查询数字类型年份与月份数据奇怪问题?!

答案:2  悬赏:80  
解决时间 2021-04-22 16:19
效果:
如图所示,查询的年份与月份在数据库中都是单独的字段,而且是数字类型的,现在按照下面的代码查询的结果有时候不现实,比如查询2013年1月到2014年5月的全部数据,如果数据库中没有其中某个月的数据,比如2014年3月的数据那么会什么都查不到,如果有则可以查到应该是我的select语句不对吧,希望大家积极帮忙,附上代码:
<script language="JavaScript" type="text/javascript">
......
</script>
<form action="" method=post name=form1 onSubmit="return CheckForm()">
<select name="userid" size=1>
<option value="0">全部 </option>
<%
set rs=server.createobject("adodb.recordset")
sql="select * from [user] order by id"
rs.open sql,conn,1,1
do while not rs.eof
response.write "<option " & sel & " value='"+CStr(rs("id"))+"'>"+rs("username")+"</option>"+chr(13)+chr(10)
rs.movenext
loop
rs.close
%>
</select>         
开始时间:<select size="1" name="nian1" maxlength="4">
<option selected="selected" value="">请选择</option>
<script language="JavaScript" type="text/javascript">writeOption(2013,2051);</script>
</select>
年份  
<select size="1" name="yue1" maxlength="2">
<option selected="selected" value="">请选择</option>
<script language="JavaScript" type="text/javascript">writeOption(1,13);</script>
</select>
月份    ——    
结束时间:<select size="1" name="nian2" maxlength="4">
<option selected="selected" value="">请选择</option>
<script language="JavaScript" type="text/javascript">writeOption(2013,2051);</script>
</select>
年份  
<select size="1" name="yue2" maxlength="2">
<option selected="selected" value="">请选择</option>
<script language="JavaScript" type="text/javascript">writeOption(1,13);</script>
</select>
月份
 <input type="submit" name="sou" value=" 查 看 " />
</form>
<%
if Request("userid")<>"" and Request("nian1")<>"" and Request("nian2")<>"" and Request("yue1")<>"" and Request("yue2")<>"" then
if Request("userid")=0 then
userid=""
else
userid="user="&Request("userid")&" and"
end if
set rs=server.createobject("adodb.recordset")
sql="select * from [list] where "&userid&" [nianfen] between "&Request("nian1")&" and "&Request("nian2")&" and [yuefen] between "&Request("yue1")&" and "&Request("yue2")
rs.open sql,conn,1,1
......



最佳答案
你这种查询方式是有缺欠的,你无法实现跨年的查询,比如查2000年1月到2001年1月,那么按你现在的查询条件,月分就是between 1 and 1,那么结果并不是13个月的,而是只有2000和2001两年的1月数据.
通过SQL语句来实现这个功能的开销可能是比较大的,所以如果可能,建议还是重新设计数据库,使用日期型字段来保存日期数据比较合适.
全部回答
ghs like '"& ghs &"' 改为 ghs like '%" & ghs & "%' 如果是access数据库,则: ghs like '*" & ghs & "*' 或 instr(ghs,'" & ghs & "')>0
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
- -一个很不切实际的问题
一起来看流星雨结局中我要的飞翔是不是郑爽唱
天天快递从合肥分拨中心到南京分拨中心要多久
重庆哪家驾校好一些?学车注意事项有哪些?
经常感到胸闷
大邑县第二人民医院(西北2门)怎么去啊,有知
怎么样用自己原有的群号设置成为家族的群号
PSP2000 3.71 m33-2升级5.00 m33-6为什么无法
在宿州开出租车需要哪些证件。
怀孕5周孕囊正常大小是多少?请教有经验的妈
扩口式管接头的锥面角度是多少
DNF决斗擂台时,出场顺序是怎么抢的?
一个长方形木块,被截成两个完全相同的正方体
中国舞好学吗?特别喜欢中国古典舞的那种女性
红色警戒3日本灭亡的时候为什么将军刽子手没
推荐资讯
从濮阳怎么去新乡万仙山,车价,去了有没有好
用英语翻译我有三个好朋友,她们比父母还了解
可爱的小狐狸悄悄地攀着从地板通向面包房问的
DNF残杀之剑在哪打
梦见死人跟我说有人欠他的东西
cf怎么改游戏里的图片??
怎样促进彼此间的信任?
正常的男人都不会柏拉图式的恋爱嘛?
什么是浮法玻璃和隔法玻璃?
大连到烟台的船票价格是多少,都什么时候有
为什么生了孩子的父母都爱孩子?
我男朋友生日送什么才好呢.,你们帮我点建议吧
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?