首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi中的时间查询!能告诉小弟我错哪了吗?

2012-02-29 
Delphi中的时间查询!能告诉我哪里错了吗?!t5: 11 if CheckBox5.Checked thent5: 生日#+DateToSt

Delphi中的时间查询!能告诉我哪里错了吗?!
t5:=' 1=1 ';
  if CheckBox5.Checked then
  t5:=' 生日>=#'+DateToStr(DateTimePicker1.Date)+'# and 生日<=#'+DateToStr(DateTimePicker2.Date)+'#';


[解决办法]
关于事件的格式和界定符,access,sqlserver,oracle都有点不同,你这样硬编码建议看看你的数据库的格式要求。
建议你用参数就可以解决这个问题,时间用参数标识,在打开数据集的之前用ParaByName('时间参数1').Value:=TDateTime变量即可,这样可以避免不同的数据库的时间表示法和界定符不同的问题

如果是oracle的话,可以用to_date函数方便明确的转换,达到在sql语句中硬编码
例如:select * from 表1 where 时间字段1 >= to_date('19900101','yyyyMMdd')

[解决办法]
str的话应该用''' 吧

热点排行