一个日期查询问题, 看看我错在哪里,奉上50大分。(50分)

  • 主题发起人 主题发起人 chensh
  • 开始时间 开始时间
C

chensh

Unregistered / Unconfirmed
GUEST, unregistred user!

我的程序中有如下代码:
query1.close;
query1.sql.clear;
query1.sql.add('select * from 人口表 where 出生日期>79-10-10');
query1.prepare;
query1.open;

在数据表中含有1956年至1988年的大量数据,但查询结果为全部符合条件,
若sql语句改为:select * from 人口表 where 出生日期>79-10-10' 那么0条符合条件 。即查询结果
与实际不符。
我用的是ACCESS数据库,全部是中文字段名,我错在哪里了。
 
query1.sql.add('select * from 人口表 where 出生日期>#79-10-10#');
 
select * from 人口表 where 出生日期 > '79-10-10'

并且要看你系统的日期格式是什么样的,你现在写的是短格式的日期,而不是标准的长格式
 
传参试试
 
日期型的数值在DELPHI中要在两头加上引号的,建议你使用QuotedStr函数来操作!
 
日期表示不对,在paradox下:cast('01/01/2002' as date)
在oracle下:todate('01/01/2002')
 
日期表示不对,除sxbug说的外,access的数据库按阳光游子说的办,Sql Server的要用
ConVert函数。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
794
import
I
后退
顶部