请教使用 delphi 的朋友一个问题我的这段程序不出结果数据表结构:表名: aa
aa 自动编号
bb 文本
cc 日期/时间表的内容aa bb cc1 b1 2003-5-30
2 b2 2003-6-30
3 b3 2003-7-30
4 b4 2003-8-30 目的:
选出 日期 bb 大于 2003-6-30 的记录方法一 : 不出结果SqlStr := 'select * from aa where cc > 2003-6-30';
Query1.Active := false ;
Query1.SQL.Clear ;
Query1.SQL.Add(SqlStr);
Query1.Active := true ;
方法二 : 不出结果设置 DateTimePicker1.date 的值 为 2003-6-30 SqlStr := 'select * from aa where cc <'+DateToStr(DateTimePicker1.date);
Query1.Active := false ;
Query1.SQL.Clear ;
Query1.SQL.Add(SqlStr);
Query1.Active := true ;请问各位大虾,那里错了
aa 自动编号
bb 文本
cc 日期/时间表的内容aa bb cc1 b1 2003-5-30
2 b2 2003-6-30
3 b3 2003-7-30
4 b4 2003-8-30 目的:
选出 日期 bb 大于 2003-6-30 的记录方法一 : 不出结果SqlStr := 'select * from aa where cc > 2003-6-30';
Query1.Active := false ;
Query1.SQL.Clear ;
Query1.SQL.Add(SqlStr);
Query1.Active := true ;
方法二 : 不出结果设置 DateTimePicker1.date 的值 为 2003-6-30 SqlStr := 'select * from aa where cc <'+DateToStr(DateTimePicker1.date);
Query1.Active := false ;
Query1.SQL.Clear ;
Query1.SQL.Add(SqlStr);
Query1.Active := true ;请问各位大虾,那里错了
Query1.Active := false ;
Query1.SQL.Clear ;
Query1.SQL.Add(SqlStr);
Query1.Active := true ;2
SqlStr := 'select * from aa where cc <'''+DateToStr(DateTimePicker1.date) + '''';
Query1.Active := false ;
Query1.SQL.Clear ;
Query1.SQL.Add(SqlStr);
Query1.Active := true ;
query1.paramaters.parabyname('date').value:=DateTimePicker1.date;
.
.
.
.
数据库将2003-6-30变为1967,再变为一个极小的时间,当然检不出结果。表示日期时得加引号。
方法二与一同理,可改为
SqlStr := 'select * from aa where cc <'+DateToStr(DateTimePicker1.date);
->SqlStr := 'select * from aa where cc <'''+formatdatetime('yyyy-MM-dd',DateTimePicker1.date)+'''';