Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
son kayitdaki tarih bilgisini almak
#1
arkadaslar son kayitdaki tarih bilgisini asagidaki sekilde aliyorum daha dogru bir yontem varsa paylasirsaniz sevinirim 
saygilar

DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select MAX(ID) from TBL_KASA' );
 DMoyunlar.IBQuery1.Open;
 id:= DMoyunlar.IBQuery1.Fields[0].AsInteger;

 DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select * from TBL_KASA WHERE ID='+IntToStr(id));
 DMoyunlar.IBQuery1.Open;
 trh:= DMoyunlar.IBQuery1.fieldbyname('DATE_').value;
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#2
(27-12-2022, Saat: 19:31)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaslar son kayitdaki tarih bilgisini asagidaki sekilde aliyorum daha dogru bir yontem varsa paylasirsaniz sevinirim 
saygilar

DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select MAX(ID) from TBL_KASA' );
 DMoyunlar.IBQuery1.Open;
 id:= DMoyunlar.IBQuery1.Fields[0].AsInteger;

 DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select * from TBL_KASA WHERE ID='+IntToStr(id));
 DMoyunlar.IBQuery1.Open;
 trh:= DMoyunlar.IBQuery1.fieldbyname('DATE_').value;

Merhaba , 
Tek sorgu ifadesiyle alabilirsiniz.

 DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select DATE_ from TBL_KASA WHERE ID=(Select MAX(ID) from TBL_KASA)');
DMoyunlar.IBQuery1.Open;
trh:= DMoyunlar.IBQuery1.fieldbyname('DATE_').value;
Cevapla
#3
sagolun hocam tarih bilgisini string olarak '21.12.2022'  olarak aldim simdi bugunun tarihini '27.12.2022' olarak alip
karsilastirma yapmam lazim
tarih kucuk ise diye islem yapmam lazim bunu nasil yapariz acaba netde arastiriyorum ama pek saglikli bir sey bulamadim.

//tarihleri karsilastir.
trhKyt:=StrToDate(trh);
myDate:=Now;
DecodeDate(myDate, myYear, myMonth, myDay);

If CompareDate(trhKyt, myDate )=-1 Then
     Begin
     end;
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#4
(27-12-2022, Saat: 20:02)sadikacar60 Adlı Kullanıcıdan Alıntı: sagolun hocam tarih bilgisini string olarak '21.12.2022'  olarak aldim simdi bugunun tarihini '27.12.2022' olarak alip
karsilastirma yapmam lazim
tarih kucuk ise diye islem yapmam lazim bunu nasil yapariz acaba netde arastiriyorum ama pek saglikli bir sey bulamadim.

//tarihleri karsilastir.
trhKyt:=StrToDate(trh);
myDate:=Now;
DecodeDate(myDate, myYear, myMonth, myDay);

If CompareDate(trhKyt, myDate )=-1 Then
     Begin
     end;

Merhaba , 

Sorgudan dönen tarih alanını direk "TDate" olarak kullanabilirsiniz yani sorgunun altından şöyle devam edebilirsiniz;

DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select DATE_ from TBL_KASA WHERE ID=(Select MAX(ID) from TBL_KASA)');
DMoyunlar.IBQuery1.Open;
if DMoyunlar.IBQuery1.fieldbyname('DATE_').AsDateTime < Date then
begin
end;

Hangi değerin hangisinden küçüklüğünü kontrol edeceğinizi bilemedim duruma göre if koşulundaki tarafları değiştirebilrisiniz. "Date" size günün tarihi verir.
Cevapla
#5
(27-12-2022, Saat: 19:31)sadikacar60 Adlı Kullanıcıdan Alıntı: arkadaslar son kayitdaki tarih bilgisini asagidaki sekilde aliyorum daha dogru bir yontem varsa paylasirsaniz sevinirim 
saygilar

DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select MAX(ID) from TBL_KASA' );
 DMoyunlar.IBQuery1.Open;
 id:= DMoyunlar.IBQuery1.Fields[0].AsInteger;

 DMoyunlar.IBQuery1.SQL.Clear;
 DMoyunlar.IBQuery1.SQL.Add('Select * from TBL_KASA WHERE ID='+IntToStr(id));
 DMoyunlar.IBQuery1.Open;
 trh:= DMoyunlar.IBQuery1.fieldbyname('DATE_').value;

"DMoyunlar1.Last" dersen son kayıta ulaşabilirsin.
Cevapla
#6
Aşağıdaki yöntemle de dosyaya tek seferde erişim sağlayarak istediğiniz elde edebilrsiniz.
DMoyunlar.IBQuery1.SQL.Clear;
DMoyunlar.IBQuery1.SQL.Add('Select Top 1 DATE_ from TBL_KASA with(nolock) Order By ID Desc)');
DMoyunlar.IBQuery1.Open;
if DMoyunlar.IBQuery1.fieldbyname('DATE_').AsDateTime < Date then
begin
end;
Bu dünyada kendine sakladığın bilgi ahirette işine yaramaz. 
Cevapla
#7
(29-12-2022, Saat: 14:50)adelphiforumz Adlı Kullanıcıdan Alıntı: Aşağıdaki yöntemle de dosyaya tek seferde erişim sağlayarak istediğiniz elde edebilrsiniz.
DMoyunlar.IBQuery1.SQL.Clear;
DMoyunlar.IBQuery1.SQL.Add('Select Top 1 DATE_ from TBL_KASA with(nolock) Order By ID Desc)');
DMoyunlar.IBQuery1.Open;
if DMoyunlar.IBQuery1.fieldbyname('DATE_').AsDateTime < Date then
begin
end;

hocam orneginiz cok guzel hata aldim problem ne olabilir acaba DATE_ hucresi varchar ve 02.01.2023 seklinde deger kaydediyor
string ile tarih degerini karsilastirdigimiz icin mi hata aliyorum acaba.
saygilar


Ek Dosyalar Resimler
   
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla
#8
DMoyunlar.IBQuery1.SQL.Clear;
DMoyunlar.IBQuery1.SQL.Add('Select Top 1 convert(date,DATE_,104) DATE_ from TBL_KASA with(nolock) Order By ID Desc)');
DMoyunlar.IBQuery1.Open;
if DMoyunlar.IBQuery1.fieldbyname('DATE_').AsDateTime < Date then
begin
end;
 
Bu şekilde test edebilirmisiniz. Sadece sorgu içine convert(date,DATE_,104) DATE_  bunu ekledim
Cevapla
#9
Veritabanınız Firebird ise
DMoyunlar.IBQuery1.SQL.Clear;
DMoyunlar.IBQuery1.SQL.Add('Select Top 1 cast(DATE_ AS DATE) DATE_ from TBL_KASA with(nolock) Order By ID Desc)');
DMoyunlar.IBQuery1.Open;
if DMoyunlar.IBQuery1.fieldbyname('DATE_').AsDateTime < Date then

veya (denemedim)
DMoyunlar.IBQuery1.SQL.Clear;
DMoyunlar.IBQuery1.SQL.Add('Select Top 1 cast(DATE_ AS DATE)  from TBL_KASA with(nolock) Order By ID Desc)');
DMoyunlar.IBQuery1.Open;
if DMoyunlar.IBQuery1.fieldbyname('DATE_').AsDateTime < Date then


Şöyle deneyiniz...
__________________________
From Now I will only Reading.
Cevapla
#10
olmadi ayni hatayi veriyor 
hocam yardimi olabilir diye tablo yu paylasyim

saygilar

CREATE GENERATOR GEN_TBL_KASA_ID;

CREATE TABLE TBL_KASA (
   ID         INTEGER NOT NULL,
   BID        VARCHAR(20),
   DATE_      VARCHAR(50),
   LANE       VARCHAR(10),
   OYADET     INTEGER,
   PARA       INTEGER,
   PTUR       VARCHAR(100) DEFAULT 0,
   DATE_TIME  VARCHAR(8),
   NOTT       VARCHAR(250),
   USER1      VARCHAR(20)
);
Ekmeğimi yazılımdan kazanmıyorum kendi halimde bir şeyler yapıyorum. 49 yaşında emekliyim.
İğne sokmadan yardımcı olacaksan başımın üstünde yerin var.

Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  2 Tarih arası periyodik tarih parçalama fonksiyonu adelphiforumz 4 962 17-02-2025, Saat: 17:33
Son Yorum: adelphiforumz
  bir resimden renk kodunu $00584827 seklinde almak sadikacar60 2 659 01-10-2024, Saat: 13:02
Son Yorum: frmman
  PDF dosyasından veri almak Mikdad 11 1.847 07-09-2024, Saat: 10:51
Son Yorum: mrmarman
  SQL' de Değişimde Toplam Almak OZCANK 5 1.747 11-05-2024, Saat: 11:30
Son Yorum: OZCANK
  Donanım bilgilerini almak için geliştirilmiş güzel bir proje burakb44 2 943 02-04-2024, Saat: 16:06
Son Yorum: burakb44



Konuyu Okuyanlar: 1 Ziyaretçi