急干求(时间查询SQL语句)
你好:
我想在按按照时间范围来查询记录,我的数据库是:ACCESS的,时间类型用:文本型
我试好多遍,总没查到自己想要的结果,不知道有谁能帮助我一下,谢谢啦,问题解决就给分,如果觉得分不够,我再给
问题点数:100、回复次数:15Top
1 楼cuteant(我这张旧床票还能否登上你的破床|涛声是否依旧)回复于 2006-03-06 12:53:55 得分 0
你把你写的贴出来看看,别人才好帮你改。你现在说的太笼统了。Top
2 楼jinjazz(近身剪)回复于 2006-03-06 13:00:01 得分 0
cdate(字段名)转化Top
3 楼qybao(阿宝)回复于 2006-03-06 13:02:38 得分 0
文本型一样可以像字符串一样比较的Top
4 楼chb5210(沉默)回复于 2006-03-06 13:19:17 得分 0
可以查询啊Top
5 楼Corn1(玉米)回复于 2006-03-06 13:55:18 得分 0
用交叉表Top
6 楼net_morning(矿泉水)回复于 2006-03-06 14:05:02 得分 0
yyyy-mm-ddTop
7 楼xxw19820907(文)回复于 2006-03-06 14:34:53 得分 0
Query1.SQL.Clear;
Query1.SQL.Add('Select * from PeiLiaoReport where 时间 >= :A and 时间<=:B');
Query1.Params[0].AsString:=TimeToStr(DateTimePicker3.Time);
Query1.Params[1].AsString:=TimeToStr(DateTimePicker4.Time);
这是我的程序,这样查不到我要的结果,希望有谁能帮助我,这要应该能看出我的意思啦吧Top
8 楼xxw19820907(文)回复于 2006-03-06 14:36:22 得分 0
就请你们好心人啦Top
9 楼xxw19820907(文)回复于 2006-03-06 15:10:53 得分 0
upTop
10 楼janezjtjdx(学习中)回复于 2006-03-06 22:00:03 得分 0
既然是时间类型,你为什么要定义成文本型呢,奇怪Top
11 楼ourlin(寒江独钓)回复于 2006-03-07 09:23:38 得分 20
Query1.SQL.Clear;
Query1.SQL.Add('Select * from PeiLiaoReport where 时间 Between :A and :B');
Query1.Params[0].Asdatetime:=DateTimePicker3.Time;
Query1.Params[1].Asdatetime:=DateTimePicker4.Time;
Top
12 楼biao_227(飙)回复于 2006-03-07 10:38:36 得分 0
照楼主这么说,就没必要再转成时间类型,文本类型可以直接当成字符串用,给一下你在ACCESS中时间的格式,是XXXX-XX-XX,还是XX/XX/XXTop
13 楼jkx01whg(爱迪01)回复于 2006-03-07 11:04:08 得分 0
在你的数据库里用时间类型,在你查询时就不用转换了Top
14 楼keiy()回复于 2006-03-07 11:09:33 得分 80
用文本替代时间完本可以,关键是你在插入时数据的格式,如,我用20位文本表示时间,插入数据的格式为:
yyyy-mm-dd hh:mm:ss
也就中是说每行的数据为:
2006-03-06 15:10:53
2006-03-07 09:23:00
...
这样就可以用:
Query1.SQL.Clear;
Query1.SQL.Add('Select * from PeiLiaoReport where 时间 Between :A and :B');
Query1.Params[0].AsString:=FormatDateTime('yyyy-mm-dd hh:mm:ss',DateTimePicker3.Time);
Query1.Params[1].AsString:=FormatDateTime('yyyy-mm-dd hh:mm:ss',DateTimePicker4.Time);
----------------------------------------------
请检查你目前数据库中日期数据的格式,并在查询时用FormatDateTime来格式化你的查询参数
Top
15 楼zgengle(什么都不会)回复于 2006-04-26 15:37:32 得分 0
mark一下Top




