易截截图软件、单文件、免安装、纯绿色、仅160KB

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的话应该用''' 吧


同意思一楼的说法。
数据库不同SQL语句略有不同。

楼主到底出什么错

if CheckBox5.Checked then
  t5:=' 生日>=#'+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# and 生日<=#'+formatdatetime('yyyy-mm-dd',DateTimePicker2.Date)+'#';



楼主如果用的是access数据库那么
t5:=' 生日>=#'+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+'# and 生日<=#'+formatdatetime('yyyy-mm-dd',DateTimePicker2.Date)+'#';
如果是mssql那么

t5:=' 生日>='''+formatdatetime('yyyy-mm-dd',DateTimePicker1.Date)+''' and 生日<='''+formatdatetime('yyyy-mm-dd',DateTimePicker2.Date)+'''';



建议用参数传递日期

我用的是sql server2000数据库。

补充一下,我用的是sql server2000的数据库,生日类型用的是datetim


相关问答:

Python中的Unicode在Delphi如何还原成Gb2312?

已知Python 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试

在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......

xml创建后如何销毁? - Delphi / 网络通信/分布式开发

xml := CreateOleObject('Microsoft.XMLHTTP');
  xml.Open('GET','http://www.google.com', False);
  xml.Send;
  xml.responseText;
使用xml.responseText可以获取网页源码,但是再次 ......

求救,DELPHI 执行存储过程 成功一半

各位大侠帮忙分析一下:
  我用Query执行一个存储过程,操作完成之后,存储过程只是执行了一半(每执行一部分,都会写一条执行记录到我建立History表,结果每次写到一半就没有结果了)
  同样的条件, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号