CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

帮忙!!时间查询问题,,,急需帮忙,明天交货!!

楼主xiaopan()2002-10-16 17:50:27 在 Delphi / VCL组件开发及应用 提问

我的sqlserver数据库内容:2002-10-16   00:00:0000  
  现在我要查询大于2002-10-16的内容,并且少于2002-10-20,我用的是datepickerk控件选取时间,提交到数据库的是用date函数,那位兄弟可以帮忙? 问题点数:20、回复次数:15Top

1 楼softer(softer)回复于 2002-10-16 17:53:54 得分 0

用参数  
  select   *   from   xxx   where   tdate<=:tstartdate   and   tdate>=:tenddate  
   
  将parameters.parambyname('tstartdate').value   :=dtp.date  
  ...  
   
  就可以搞定Top

2 楼xiaopan()回复于 2002-10-16 18:01:52 得分 0

刚才试了,不行Top

3 楼xiaopan()回复于 2002-10-16 18:05:46 得分 0

关键是sqlserver数据库自动加上了时间,我提供的参数只有日期Top

4 楼leaf_zhy(弄影)回复于 2002-10-16 18:09:55 得分 0

我一贯的做法是:把日期转换成字符串,然后截取所需要的,然后比较。Top

5 楼zmcpu(CPU)回复于 2002-10-16 18:11:15 得分 0

你给你的参数加上时间“00:00:00”不就的了Top

6 楼SQL5560(那一剑的风情)回复于 2002-10-16 19:15:26 得分 0

这个问题太简单了!!拒绝回答!!呵呵!!Top

7 楼xjspa(天涯)回复于 2002-10-16 19:21:11 得分 0

使用   encodetime()  
  将时间   组合成     dd-tt-mm-ss  
  再用softer(softer)兄     的方法Top

8 楼blazingfire(烈焰)(对.net极度憎恨中....)回复于 2002-10-16 19:48:47 得分 0

select   *   from   xxx   where   tdate<=:tstartdate   and   tdate>=:tenddate  
  parameters.parambyname('tstartdate').AsDateTime:=dtp.date  
  Top

9 楼ITHeroMan(深谷老手)回复于 2002-10-16 20:10:35 得分 5

在数据库中对日期参数的传入处理,用字符串是最好的方式。  
  你在SQL_SERVER里把参数定义为字符串型(char(10)),  
  记住:Between...And...对字符串同样适用。  
  然后你在前台传时传入:  
  FormatDateTime('YYYY-MM-DD',[日期类型数据]);  
  即可。Top

10 楼hongqi162(失踪的月亮)回复于 2002-10-17 09:32:23 得分 5

修改一下就可以用!!!!  
   
  if   RadioButton1.Checked=true   then  
            begin  
                with   datamodule1.JhdADOQuery   do  
                    begin  
                        close;  
                        sql.Clear;  
                        sql.Add('select   *   from   进货表   where   进货日期>='+''''+formatdatetime('yyyy-mm-dd   hh:mm:ss',datetimepicker1.datetime)+''''+'   and   进货日期<='+''''+formatdatetime('yyyy-mm-dd   hh:mm:ss',datetimepicker2.datetime)+'''');  
                        open;  
                    end;  
              end;Top

11 楼whw123(令狐冲)回复于 2002-10-17 11:46:38 得分 5

涉及到时间的都有这样的问题,再datepicker得到的时间系统会自动把后面的hh:mm:nn加上,得到的:2000-2-2   00:00:00,所以如果你要查询〉=2002-   10-6   and   <2002-10-26的内容,只需要:where   registerdate>=   :vbegindate   and   registerdate<=:venddate  
  Parameters.ParameterbyName('vbegindate').value:=   datepicker1.date;  
  Parameters.parameterbyname('venddate').value:=   datepicker2.date+1;  
  open;  
  自己试一试!Top

12 楼whw123(令狐冲)回复于 2002-10-17 11:47:40 得分 0

对不起,上面的sql写得有些错误修改如下:  
   
  涉及到时间的都有这样的问题,再datepicker得到的时间系统会自动把后面的hh:mm:nn加上,得到的:2000-2-2   00:00:00,所以如果你要查询〉=2002-   10-6   and   <2002-10-26的内容,只需要:where   registerdate>=   :vbegindate   and   registerdate<:venddate  
  Parameters.ParameterbyName('vbegindate').value:=   datepicker1.date;  
  Parameters.parameterbyname('venddate').value:=   datepicker2.date+1;  
  open;  
  自己试一试!  
  Top

13 楼andy_lim(andy)回复于 2002-10-17 12:02:51 得分 5

query1.Close;  
  query1.SQL.Clear;  
  query1.SQL.Add('select   *   from   debit_imp   where   date   between   :d1   and   :d2');  
  query1.ParamByName('d1').AsDate:=d1.Date;  
  query1.ParamByName('d2').AsDate:=d2.Date;  
  query1.Open;Top

14 楼zzg40280614(northsky)回复于 2002-10-17 15:00:33 得分 0

同意andy_lim(andy)  
  绝对可行Top

15 楼cdkey(cdkey)回复于 2002-10-17 17:24:06 得分 0

很简单,用int函数将时间去掉就行,只留下日期。  
   
  query1.Close;  
  query1.SQL.Clear;  
  query1.SQL.Add('select   *   from   debit_imp   where   date>:d1   and   date<:d2');  
  query1.ParamByName('d1').AsDate:=int(d1.Date);  
  query1.ParamByName('d2').AsDate:=int(d2.Date);  
  query1.Open;Top

相关问题

  • 急需CPU查询源码,文档
  • 数据库查询问题 急需
  • 明天交货,啊~帮助文档还没写???求救啊.
  • 急!!!急需网站内文字搜索的查询代码!!!
  • 各位兄弟!请帮下小弟关于订单交货情况的查询的问题,详情请进
  • 安装文件制作的问题:Access数据库(明天交货啊)
  • 升级了!散分!项目今天通宵完了明天也要交货了!
  • 字符串声明后(此时无内容)再清除却出错,why?挺急,明天要交货
  • 怎么更改listview中多个选中的listitem对应的列的值?紧急,明天就要交货!
  • 怎么更改listview中多个选中的listitem对应的列的值?紧急,明天就要交货!

关键词

  • 数据库
  • date
  • sql
  • 帮忙
  • 字符串
  • 参数
  • 进货
  • 日期
  • 时间
  • mm

得分解答快速导航

  • 帖主:xiaopan
  • ITHeroMan
  • hongqi162
  • whw123
  • andy_lim

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo