tarih alanı : date
saat alanı : time
olarak veritabanında ayarlı
Kod: Tümünü seç
var
ILKTAR, SONTAR : TDate;
ILKSAAT, SONSAAT : TTime;
begin
Try
Query2.Close;
Query2.SQL.Clear;
Query2.SQL.Add('SELECT * FROM data Where Tarih >= :ILKTAR and Tarih <= :SONTAR and Saat >= :ILKSAAT and Saat <= :SONSAAT');
Query2.Params[0].AsDateTime:=StrToDate(MaskEdit1.Text);
Query2.Params[1].AsDateTime:=StrToDate(MaskEdit2.Text);
Query2.Params[2].AsDateTime:=StrToTime(maskedit3.Text);
Query2.Params[3].AsDateTime:=StrToTime(maskedit4.Text);
Query2.Open;
Except
On Exception do raise;
end;
end;
sorgu çekmek istiyorum
sadece tarih olarak ayarlayıp çekersem bir sorun yok ama saatleride işin içine katınca
şöyle bir hata veriyor ‘type mismatch in expression’ diye bir hata alıyorum
birde forumda aşağıdaki gibi bir mesaj buldum ama ben bunu nasıl kodlara dahil edeceğimi yapamadım.
Kod: Tümünü seç
Adoquery1.ParamByName('TARIH1').AsDateTime := Int(DP1.Date) + Frac(TP1.Time);
Adoquery1.ParamByName('TARIH2').AsDateTime := Int(DP2.Date) + Frac(TP2.Time);
Adoquery1.Active := True;
bu kod isini gorur ancak sunu belirteyim dp1,dp2,tp1,tp2 datapicker dp1 ve dp2 tarih tp1 ve tp2 ise time olarak ayarlarsan hem saate hemde tarihe gore sorgu yaparsin yani saat degistiginde farkli sonuc alabilirsin kolay gelsin