query1.SQL.Add('select * from tabname where 日期='''+FormatDateTime('mm/dd/yyyy',Now) +'''' );
//Access版 begin s:=datetostr(now); query1.Close; query1.SQL.Clear ; //这条语句仅仅对Access有用,但用于SQL Server则不行 query1.SQL.Add('select * from tabname where 日期='+ '#' + s + '#'); if not query1.Prepared then query1.Prepare ; query1.Open; end;//SQL Server版 begin s:=datetostr(now); query1.Close; query1.SQL.Clear; //这句一定要在前!! with Query1 do begin with Parameters.AddParameter do begin Name := 'simon'; DataType := ftDate; Direction := pdInput; Value := s; end; end; query1.SQL.Add('select * from tabname where 日期= :simon'); if not query1.Prepared then query1.Prepare ; query1.Open; end;
//SQL Server版对Access版也同样有用!
首先,你先查一查你的数据库中的时间格式是什么?比如2002-03-02或2002。03。02? 然后如果是2002-03-02格式,用query1.SQL.Add('select * from tabname where 日期='+#39+FormatDateTime('yyyy-mm-dd',Now) +#39 ); 注意格式就对了。否则不行。只gigi
OutQuery.Close; OutQuery.SQL.Clear; OutQuery.SQL.Add('select * from OutTable '); OutQuery.SQL.Add(' where (日期 <=:date1 ) '); OutQuery.ParamByName('date1').Value:=formatdatetime('yy-mm-dd',datetimepicker1.Date);
结果还是不行。
begin
s:=datetostr(now);
query1.Close;
query1.SQL.Clear ;
//这条语句仅仅对Access有用,但用于SQL Server则不行
query1.SQL.Add('select * from tabname where 日期='+ '#' +
s + '#');
if not query1.Prepared then query1.Prepare ;
query1.Open;
end;//SQL Server版
begin
s:=datetostr(now);
query1.Close;
query1.SQL.Clear; //这句一定要在前!!
with Query1 do
begin
with Parameters.AddParameter do
begin
Name := 'simon';
DataType := ftDate;
Direction := pdInput;
Value := s;
end;
end;
query1.SQL.Add('select * from tabname where 日期= :simon');
if not query1.Prepared then query1.Prepare ;
query1.Open;
end;
然后如果是2002-03-02格式,用query1.SQL.Add('select * from tabname where 日期='+#39+FormatDateTime('yyyy-mm-dd',Now) +#39 );
注意格式就对了。否则不行。只gigi
OutQuery.SQL.Clear;
OutQuery.SQL.Add('select * from OutTable ');
OutQuery.SQL.Add(' where (日期 <=:date1 ) ');
OutQuery.ParamByName('date1').Value:=formatdatetime('yy-mm-dd',datetimepicker1.Date);