select * from A where A.mydate='''+datetostr(datetimepicker1.date)+'''
1.查询某个日期的数据 with query1 do begin Close; Sql.Clear; Sql.Add('Select * from 表'); Sql.Add('Where 日期字段=:date'); ParaByName('date').AsString:=日期; Open; End; 2.某段日期数据 with query1 do begin Close; Sql.Clear; Sql.Add('Select * from 表'); Sql.Add('Where 日期字段 between :date1 and :date2'); ParaByName('date1').AsString:=日期1; ParaByName('date2').AsString:=日期2; Open; End;
在acess数据库中对日期型的查询要在日期前后加#,不知这是否对你有用?我想可能与此有关,因为我在用acess时,也是编译通过,但查询不出记录,也不出错,加了#就行了。ADOQry1.SQL.Add('select * from A where 日期字段=#'+DateEdit1.Text+'#'); 此处的DateEdit1.Text是string,如果是datetimepacker的话还要先转换一下。
SELECT * FROM mytable WHERE TO_CHAR(mytablefield,'yyyymmdd')='20010201' //you must use the oracle function to_char(datetimefield,format) 即datetime to str function
select * from A where A.mydate='''+datetimepicker1.datetime+'''
你用SELECT * FROM mytable where mydate='2001-01-01'肯定有数据 我原来用oracle做这样的参数查询=:dd有问题,但用ado没有问题
datetimepicker1.date格式可能不对,格式化日期数据,应该有用的。
是select * from A where A.mydate=datetimepicker1.datetime
select * from A where A.mydate='''+datetostr(datetimepicker1.date)+''' 对吗?
补充:用个Tquery控件 with query1.do begin close; sql.clear; sql.add('select * from A where A.mydate=:datetime1'); parambyname('datetime1').asdatetime:=datetimepicker1.datetime; open; end;
with query1 do
begin
Close;
Sql.Clear;
Sql.Add('Select * from 表');
Sql.Add('Where 日期字段=:date');
ParaByName('date').AsString:=日期;
Open;
End;
2.某段日期数据
with query1 do
begin
Close;
Sql.Clear;
Sql.Add('Select * from 表');
Sql.Add('Where 日期字段 between :date1 and :date2');
ParaByName('date1').AsString:=日期1;
ParaByName('date2').AsString:=日期2;
Open;
End;
不过还要注意格式问题;
这个日期怎么传进去,不是还得用datetostr吗? 还是没有数据显示,虽然没有出错。
此处的DateEdit1.Text是string,如果是datetimepacker的话还要先转换一下。
WHERE TO_CHAR(mytablefield,'yyyymmdd')='20010201'
//you must use the oracle function to_char(datetimefield,format)
即datetime to str function
select * from A where A.mydate='''+datetimepicker1.datetime+'''
我原来用oracle做这样的参数查询=:dd有问题,但用ado没有问题
对吗?
with query1.do
begin
close;
sql.clear;
sql.add('select * from A where A.mydate=:datetime1');
parambyname('datetime1').asdatetime:=datetimepicker1.datetime;
open;
end;