sql语句应该这样写:
str_sql:=
'SELECT BirtheDay FROM TableName WHERE BirthDay BETWEEN'+''''+bdate+''''+' AND '+''''+edate+''''; 

解决方案 »

  1.   

    str_sql:='select birthday from  tablename where birthday >bdate and birthday<edate;
      
      

  2.   

    sql语句应该这样写:
    str_sql:=
    'SELECT BirtheDay FROM TableName WHERE BirthDay BETWEEN'+'#'+bdate+'#'+' AND '+'#'+edate+'#'; 
      

  3.   

    SQL.Add('Select * From TableName Where BirtheDay>'+#39+FormatDateTime(yyyy"-"mm"-"dd' ,DateTimePicker1.Date)+#39+'and BirthDay<'+#39+FormatDateTime(yyyy"-"mm"-"dd' ,DateTimePicker1.Date)+#39); 
      

  4.   

    有必要那样作吗?用参数不是更简单
     with Query1 do
      begin
        Close;
          SQL.add('select ...from... where Bdate>=:t1 and Edate<=:t2')     
          ParamByName('t1').AsDate:= strtodate(edit1.text);
          ParamByName('t2').AsDate:= := strtodate(edit2.text);
          Open;
        end;