veritabanıdaki son kayıt id sini almak..??

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
forumsad
Üye
Mesajlar: 296
Kayıt: 29 Tem 2010 10:47

veritabanıdaki son kayıt id sini almak..??

Mesaj gönderen forumsad »

arkadaşlar

Kod: Tümünü seç

/////////////////////////////////////////////////////
procedure SonOyunKaydiniAl(var SonId:integer);
begin
try
//önce db den bilğileri allım
DMoyunKaydet.ADOQuerySave.Close;
DMoyunKaydet.ADOQuerySave.SQL.Clear;
DMoyunKaydet.ADOQuerySave.SQL.Add('select * from tblOyunlar');
DMoyunKaydet.ADOQuerySave.Open;

SonId:=DMoyunKaydet.ADOQuerySave.RecordCount;   //kaçıncı kayıt
except
     begin
     errorKaydet('uDMoyunKaydet:03');
     end;
     end;
end;
yukardaki kod ile tablodaki kayıtları saydırıp son kaydın id sini buluyorum ve ona göre işlem yapıyorum
örenğin tabloda 150 kayıt var SonId:=150 olarak ele alıp update işlemlerini bu id yi kullanarak yapıyorum

fakat sonradan şöyle bir sorun çıktı aradan bir kaydı sildiğimizde

ID:=150 olmasına ragmen SonId:=149 olarak geliyor dolayısıyla güncelleme işlemlerini hatalı satırda yapıyor

delphi7 de ado kullanıyorum tablomdaki son kaydın id sini nasıl alabilrim

saygılarımla
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Re: veritabanıdaki son kayıt id sini almak..??

Mesaj gönderen White Rose »

S.A.
recordcount ile son kayıt numarasını değil toplaM kayıt sayısını alırsınız
son kayıt numarası için sql select max(IDNO) FROM TABLO
yani
DMoyunKaydet.ADOQuerySave.Close;
DMoyunKaydet.ADOQuerySave.SQL.Clear;
DMoyunKaydet.ADOQuerySave.SQL.Add('select MAX(IDNO) AS SONKAYIT from tblOyunlar');
DMoyunKaydet.ADOQuerySave.Open;

SonId:=DMoyunKaydet.ADOQuerySave.FieldByName('SONKAYIT').aSfloat;
Cevapla