ADOQueryUserLogin.SQL.Add('Where dDateTime Between :s1 And :s2'); 
ADOQueryUserLogin.Parameters[0].Value:=dStartDate;
ADOQueryUserLogin.Parameters[1].Value:=EndDate;
ADOQueryUserLogin.Open;

解决方案 »

  1.   

    你没有把日期转换为字符串,SQL.Add()里只能是字符串
        ADOQueryUserLogin.Close;
        ADOQueryUserLogin.SQL.Clear;
        ADOQueryUserLogin.SQL.Add('Select * From TbCCTVLogin');
        ADOQueryUserLogin.SQL.Add('Where dDateTime Between '''+datetimetostr(dStartDate)+' And '''+datetimetostr(dEndDate)+''''); 
        ADOQueryUserLogin.Open;
      

  2.   

    ADOQueryUserLogin.SQL.Add('Where dDateTime Between '+FormatFloat('0.00000000000000',dStartDate)+' And '+FormatFloat('0.00000000000000',dEndDate));
      

  3.   

    日期型转换成字符串要用双引号引起来例如:
      SELECT * FROM TABLE1 WHERE DAT>="2002-2-2"
      

  4.   

    最好还是用参数
      SELECT * FROM TABLE1 WHERE DAT>=:DAT1
      Query1.ParamByName('Dat').asDate=TimePicker.Date;