因为日期型的字段如不经处理一般存储的值是YYYY-MM-DD HH:NN:SS 你直接使用“=”号那么除非年,月,日,小时,分,秒都相等否则数据库便认为不相等 你应该使用'BETWEEN .. AND'来进行日期的比较如: SELECT * FROM SYSOBJECTS WHERE CRDATE BETWEEN ‘2001-06-26 00:00:01’ AND ‘2001-06-26 11:11:59’
to yellowbb:weather_day是日期型数据啊,不能与字符串进行操作啊?!
OH 语句的单引号及冒号字符非法,改成ASCII的即可
msDat:='01-05-03'; query1.add('select * from table1 where dat='+''''+msDat+'''');
weather_day=weather_day 肯定没意义 他就是两个自端相等;肯定为true吗 'select weather_day,weather from tab_weather where weather_day='''+weather_day1 +'''' weather_day1 由程序传入有意义在sqlserver中用单引号把日期括来 'select * from tab_weather where weather_day=''01-2-1''' access 用# 'select * from tab_weather where weather_day=#01-2-1#' PARADOX 用双引号 'select * from tab_weather where weather_day="01-2-1"'
你直接使用“=”号那么除非年,月,日,小时,分,秒都相等否则数据库便认为不相等
你应该使用'BETWEEN .. AND'来进行日期的比较如:
SELECT * FROM SYSOBJECTS WHERE CRDATE BETWEEN ‘2001-06-26 00:00:01’
AND ‘2001-06-26 11:11:59’
query1.add('select * from table1 where dat='+''''+msDat+'''');
肯定没意义
他就是两个自端相等;肯定为true吗
'select weather_day,weather from tab_weather where weather_day='''+weather_day1 +''''
weather_day1 由程序传入有意义在sqlserver中用单引号把日期括来
'select * from tab_weather where weather_day=''01-2-1'''
access 用#
'select * from tab_weather where weather_day=#01-2-1#'
PARADOX 用双引号
'select * from tab_weather where weather_day="01-2-1"'
对了,如果哪位大哥,对于编写FTP程序熟的,请到http://www.csdn.net/expert/topic/179/179441.shtm
帮小弟一下吧!