conari yazdı:Delphi de Adoquey kullanıyorum.
sql sorgusuna ekler iken sorguda datetimepicker daki tarih aralığını vermem lazım fakat doğal olarak string tdate hatası alıyorum. bu bileşini sql içerisinde nasıl kullanabilirim. Veritabanı access between yermi tam onuda bilmiyorum açıçası deneyeceğim..
Kod: Tümünü seç
procedure TfrmRapor.BtnRaporgorClick(Sender: TObject);
begin
ADOQuery1.Active:=False;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('SELECT TBLISTEK_ANA.TARIH, TBLISTEK_ANA.ISTEK_SECIM, TBLISTEK_ANA.EK_ACIKLAMA'+
'FROM TBLISTEK_ANA where '+
' TBLISTEK_ANA.TARIH between '''+date1.date+''' and '''+date2.date+''''+
' order by TBLISTEK_ANA.TARIH asc');
ADOQuery1.Active:=True;
end;
ADOQuery1.Active:=True;
bu bölümden önce ;
1. seçenek ;
ADOQuery1.SQL.Add('SELECT TBLISTEK_ANA.TARIH, TBLISTEK_ANA.ISTEK_SECIM, TBLISTEK_ANA.EK_ACIKLAMA FROM TBLISTEK_ANA where TBLISTEK_ANA.TARIH between :a1 and :a2 order by TBLISTEK_ANA.TARIH asc');
adoquery1.parameters.parambyname('a1').value:=formatdatetime('dd.mm.yyyy',date1.date);
adoquery1.parameters.parambyname('a2').value:=formatdatetime('dd.mm.yyyy',date2.date);
2. seçenek ;
ADOQuery1.SQL.Add('SELECT TBLISTEK_ANA.TARIH, TBLISTEK_ANA.ISTEK_SECIM, TBLISTEK_ANA.EK_ACIKLAMA FROM TBLISTEK_ANA where TBLISTEK_ANA.TARIH>:a1 and TBLISTEK_ANA.TARIH<:a2 order by TBLISTEK_ANA.TARIH asc');
adoquery1.parameters.parambyname('a1').value:=formatdatetime('dd.mm.yyyy',date1.date-1);
adoquery1.parameters.parambyname('a2').value:=formatdatetime('dd.mm.yyyy',date2.date+1);
bunlardan sonra da
ADOQuery1.Active:=True;
kolay gelsin ..