Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
İki Tarih Arası Sorgulama
#1
Selamun aleykum Hocalarım, 
Access veritabannı

Firedac ana Tablom ( Tablo Adı Vefa)
Delphi ide de firedac query ismi FDVefa

Detail Tablom ise ( ISLEM) ( sorgulanacak alan TARIH)
Delphi ide de firedac query ismi  FDISLEM


Detail tablomdaki tarih alanında iki tarih arası sorgulama yapmak istiyorum. 
yardımcı olabilir misiniz?
Cevapla
#2
select * from TABLOADI

   where TARIH between TARIH1 and TARIH2
// Bilgi paylaştıkça çoğalır.. 

Cevapla
#3
(15-05-2023, Saat: 16:59)Mikdad Adlı Kullanıcıdan Alıntı: Selamun aleykum Hocalarım, 
Access veritabannı

Firedac ana Tablom ( Tablo Adı Vefa)
Delphi ide de firedac query ismi FDVefa

Detail Tablom ise ( ISLEM) ( sorgulanacak alan TARIH)
Delphi ide de firedac query ismi  FDISLEM


Detail tablomdaki tarih alanında iki tarih arası sorgulama yapmak istiyorum. 
yardımcı olabilir misiniz?

Merhabalar,

Anahtar kelime -> Between

https://www.delphican.com/showthread.php?tid=1118
https://www.delphican.com/showthread.php?tid=3494


Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#4
Qry.sql.Add('select * from detail');
Qry.sql.Add('WHERE TARIH >=:ilktarih and TARIH <=:sontarih');
Qry.Parameters.ParamByName('ilktarih').Value := edit1.Text;
Qry.Parameters.ParamByName('sontarih').Value := edit2.Text;
Qry.open;
Cevapla
#5
Hocam bu şekilde hata veriyor sebebi nedir

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
FDISLEM.sql.Add('select * from ISLEM');
FDISLEM.sql.Add('WHERE TARIH >=:ilktarih and TARIH <=:sontarih');
FDISLEM.ParamByName('ilktarih').Value := MaskEdit1.Text;
FDISLEM.parambyname('sontarih').Value := MaskEdit2.Text;
FDISLEM.open;

end;


Ek Dosyalar Resimler
   
Cevapla
#6
(16-05-2023, Saat: 08:06)Mikdad Adlı Kullanıcıdan Alıntı: Hocam bu şekilde hata veriyor sebebi nedir

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
FDISLEM.sql.Add('select * from ISLEM');
FDISLEM.sql.Add('WHERE TARIH >=:ilktarih and TARIH <=:sontarih');
FDISLEM.ParamByName('ilktarih').Value := MaskEdit1.Text;
FDISLEM.parambyname('sontarih').Value := MaskEdit2.Text;
FDISLEM.open;

end;

Merhabalar,

Hata mesajını yazarsanız daha hızlı ilerlersiniz.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#7
select * from TABLO_1
Where  TARIH between 
'12.05.2023' and '16.05.2023'

Yukarıdaki sql kodunu delphide aşağıdaki şekilde oluşturmayı deneyin.


  IBQuery1.SQL.Clear ;
 IBQuery1.SQL.Add('select * from TABLO_1 ') ;
 IBQuery1.SQL.Add(' Where TARIH between') ;
 IBQuery1.SQL.Add('''' + Baslangic_Tarihi.Text + ''' and ''' + Bitis_Tarihi.Text +'''') ;
 IBQuery1.Open ;
Cevapla
#8
bu şekilde hata veriyor hocam

(16-05-2023, Saat: 09:32)sunbeki Adlı Kullanıcıdan Alıntı:
select * from TABLO_1
Where  TARIH between 
'12.05.2023' and '16.05.2023'

Yukarıdaki sql kodunu delphide aşağıdaki şekilde oluşturmayı deneyin.


  IBQuery1.SQL.Clear ;
 IBQuery1.SQL.Add('select * from TABLO_1 ') ;
 IBQuery1.SQL.Add(' Where TARIH between') ;
 IBQuery1.SQL.Add('''' + Baslangic_Tarihi.Text + ''' and ''' + Bitis_Tarihi.Text +'''') ;
 IBQuery1.Open ;

Bu sefer bu şekilde bir hata verdi hocam. 
sizin kodu bu şedilde güncelledim.
 FDISLEM.SQL.Clear ;
 FDISLEM.SQL.Add('select * from ISLEM ') ;
 FDISLEM.SQL.Add(' Where TARIH between') ;
 FDISLEM.SQL.Add('''' + MaskEdit1.Text + ''' and ''' + MaskEdit2.Text +'''') ;
 FDISLEM.Open ;


Ek Dosyalar Resimler
       
Cevapla
#9
 FDISLEM.SQL.Add('''' + QUOTEDSTR(MaskEdit1.Text) + ''' and ''' + QUOTEDSTR(MaskEdit2.Text) +'''') ;

Quotedstr içine almayı deneyin
__________________________
From Now I will only Reading.
Cevapla
#10
(16-05-2023, Saat: 09:33)Mikdad Adlı Kullanıcıdan Alıntı: bu şekilde hata veriyor hocam

(16-05-2023, Saat: 09:32)sunbeki Adlı Kullanıcıdan Alıntı:
select * from TABLO_1
Where  TARIH between 
'12.05.2023' and '16.05.2023'

Yukarıdaki sql kodunu delphide aşağıdaki şekilde oluşturmayı deneyin.


  IBQuery1.SQL.Clear ;
 IBQuery1.SQL.Add('select * from TABLO_1 ') ;
 IBQuery1.SQL.Add(' Where TARIH between') ;
 IBQuery1.SQL.Add('''' + Baslangic_Tarihi.Text + ''' and ''' + Bitis_Tarihi.Text +'''') ;
 IBQuery1.Open ;

Bu sefer bu şekilde bir hata verdi hocam. 
sizin kodu bu şedilde güncelledim.
 FDISLEM.SQL.Clear ;
 FDISLEM.SQL.Add('select * from ISLEM ') ;
 FDISLEM.SQL.Add(' Where TARIH between') ;
 FDISLEM.SQL.Add('''' + MaskEdit1.Text + ''' and ''' + MaskEdit2.Text +'''') ;
 FDISLEM.Open ;




 
var SQL : String;


SQL := 'select * from ISLEM  Where TARIH between ' + QUOTEDSTR(MaskEdit1.Text) + ' and  ' + QUOTEDSTR(MaskEdit2.Text);
FDISLEM.SQL.Clear ;
FDISLEM.SQL.Add(SQL) ;
ShowMessage(SQL); // Burada Mesaj ile Oluşan sorgunu kontrol et maskeditlerin içinden ne geliyor
FDISLEM.SQL.Savetofile('c:\Sql.txt'); // burada da sql sorgunun txt nin içine atar burada oluşan sorgunu direk veritabanında kontrol et oradaki hataya göre işlem değiştirirsin
FDISLEM.Open ;


normal de veritiplerinde yada veri tabanı alanlarında herhangi bir sorun yok ise bu kod çalışır

maskeditlerinden gelen değerler de sorun olabilir 

yada veritabanı tarhi formatını kabul etmeyebilir
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  2 Tarih arası periyodik tarih parçalama fonksiyonu adelphiforumz 4 940 17-02-2025, Saat: 17:33
Son Yorum: adelphiforumz
  cxgrid sorgulama ercanskose 3 870 09-11-2024, Saat: 10:09
Son Yorum: ercanskose
  Formlar Arası Geçiş delphiX14 2 755 06-12-2023, Saat: 21:57
Son Yorum: delphiX14
  Tarih Guncelleme Trigger OZCANK 2 1.401 24-05-2023, Saat: 17:06
Son Yorum: OZCANK
  WebBrowser ile Forma Veri Gönderme ve Sorgulama adnansirca 5 3.642 02-03-2023, Saat: 17:15
Son Yorum: adnansirca



Konuyu Okuyanlar: 1 Ziyaretçi