读书人

日期查询 有关问题

发布时间: 2012-02-04 15:43:08 作者: rapoo

日期查询 问题

delphi中控件 DateTimePicker1 得到的日期格式 : 2006-5-2

怎么和数据库sql server2000 中表中 日期字段类型为: datetime 的格式: 2006-05-02 匹配

select * from currentstock where convert(varchar(10),dDate,121) between '2006-5-2' and '2006-12-5'


<==>
select * from currentstock where convert(varchar(10),dDate,121) between '''+datetostr(DateTimePicker1.datetime)+''' and '''+datetostr(DateTimePicker1.datetime)+'''

查询出来的结果 是空记录. 怎么解决~~


[解决办法]
SQL语句:
select * from currentstock where dDate between '2007-1-1' and '2007-8-1'

只要把这个语句通过Delphi做出来就行了。数据库里面的 dDate 字段是否是 DateTime 类型?

另外,你的代码里面日期的比较都是 DateTimePicker1.value,这个可能也查询不出来数据。between表示的是从开始时间到结束时间之间,就是大于等于开始时间,小于等于结束时间的日期。如果你的 dDate 字段包含的数据仅仅是一个日期,则应该可以查询出来,如果你的 dDate 字段还包括时间,那就不会查询出结果。尝试这样的语句:select * from currentstock where dDate between '2007-1-1' and '2007-1-1 23:59:59'
[解决办法]
SQL.Text:= 'select * from table where 日期 between # '+formatdatetime( 'yyyy-mm-dd ',datetimepicker1.DateTime)+ '# and # '+formatdatetime( 'yyyy-mm-dd ',datetimepicker2.DateTime)+ '# ';
这样可以

读书人网 >.NET

热点推荐