Delphi Can
son kayitdaki tarih bilgisini almak - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: son kayitdaki tarih bilgisini almak (/showthread.php?tid=7114)

Sayfalar: 1 2


son kayitdaki tarih bilgisini almak - sadikacar60 - 27-12-2022

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;



Cvp: son kayitdaki tarih bilgisini almak - vkamadan - 27-12-2022

(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;



son kayitdaki tarih bilgisini almak - sadikacar60 - 27-12-2022

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;


Cvp: son kayitdaki tarih bilgisini almak - vkamadan - 28-12-2022

(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.


Cvp: son kayitdaki tarih bilgisini almak - enigma - 28-12-2022

(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.


Cvp: son kayitdaki tarih bilgisini almak - adelphiforumz - 29-12-2022

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;



Cvp: son kayitdaki tarih bilgisini almak - sadikacar60 - 01-01-2023

(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


Cvp: son kayitdaki tarih bilgisini almak - tuna - 02-01-2023

Kod:
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


son kayitdaki tarih bilgisini almak - COMMANDX - 02-01-2023

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...


Cvp: son kayitdaki tarih bilgisini almak - sadikacar60 - 08-01-2023

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)
);