sql.text := 'select * from xhsz where datea>='''+formatdatetime('mm"/"dd"/"yyyy' ,datetimepicket2.date)+''' and datea <='''+formatdatetime('mm"/"dd"/"yyyy' ,datetimepicket3.date)+'''';
我向下面这样写也出错,其中datea是日期型字段 query1.sql.add('select * from xhsz where datea>2001-02-15');这是为什么呢,应该怎么写才正确呢?
试试 query1.sql.text := 'select * from xhsz where datea>''02-15-2001'''; 或 query1.sql.text := 'select * from xhsz where datea>''02/15/2001''';
试试这个: sql.add('select * from xhsz where datea>case('02/15/01' as date)')
with query1 do begin SQL.Clear; SQL.Add('select * from xhsz'); SQL.Add('where datea >= :datea1 and and datea <= :datea2 '); ParamByName('datea1').AsDateTime := datetimepicket2.date; ParamByName('datea2').AsDateTime := datetimepicket3.date; Open; end; 不对不要分数!
对不起,有笔误,应该为:with query1 do begin SQL.Clear; SQL.Add('select * from xhsz'); SQL.Add('where datea >= :datea1 and datea <= :datea2 '); ParamByName('datea1').AsDateTime := datetimepicket2.date; ParamByName('datea2').AsDateTime := datetimepicket3.date; Open; end; 不对不要分数!
query1.sql.add('select * from xhsz where datea>2001-02-15');这是为什么呢,应该怎么写才正确呢?
query1.sql.text := 'select * from xhsz where datea>''02-15-2001''';
或
query1.sql.text := 'select * from xhsz where datea>''02/15/2001''';
sql.add('select * from xhsz where datea>case('02/15/01' as date)')
begin
SQL.Clear;
SQL.Add('select * from xhsz');
SQL.Add('where datea >= :datea1 and and datea <= :datea2 ');
ParamByName('datea1').AsDateTime := datetimepicket2.date;
ParamByName('datea2').AsDateTime := datetimepicket3.date;
Open;
end; 不对不要分数!
begin
SQL.Clear;
SQL.Add('select * from xhsz');
SQL.Add('where datea >= :datea1 and datea <= :datea2 ');
ParamByName('datea1').AsDateTime := datetimepicket2.date;
ParamByName('datea2').AsDateTime := datetimepicket3.date;
Open;
end; 不对不要分数!