İstenen Kayda Konumlandırmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Çağrıbey
Üye
Mesajlar: 40
Kayıt: 26 Kas 2004 11:25
Konum: Ankara

İstenen Kayda Konumlandırmak

Mesaj gönderen Çağrıbey »

Merhaba,

Delphi 7 ve AdoQuery kullanıyorum.
Sorum şu;

Data içerisinde diyelim ki 50 kayıt var,
Ben bu 50 kayıt içerisinde 42 nci kaydın aktif kayıt olmasını nasıl sağlayabilirim.

Çünkü, 42 nci kayıttan itibaren yapmam gereken işlemler var.

Bunu şu şekilde çözüyorum, ancak bu şekilde bir çözüm doğru sonuç vermekle birlikte profesyonelce gözükmüyor.

ToplamKayit:=AdoQuery1.recordCount
if ToplamKayit > 6 Then
Begin
AdoQuery1.Last;

AdoQuery1.Prior;
AdoQuery1.Prior;
AdoQuery1.Prior;
AdoQuery1.Prior;
AdoQuery1.Prior;
AdoQuery1.Prior;
End;

istediğim alana gelince o alandan itibaren de yapacağım işlerin kodunu yazıyorum.
Gelecek günden ne dilersen, doğacak günler onu getirir
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Mesaj gönderen sabanakman »

Kod: Tümünü seç

DataSet.Last;
DataSet.MoveBy(-6);//-6 kayıt ileri yani 6 kayıt geri gider.
İyi çalışmalar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Çağrıbey
Üye
Mesajlar: 40
Kayıt: 26 Kas 2004 11:25
Konum: Ankara

Mesaj gönderen Çağrıbey »

Sayin Saban AKMAN,
verdiğiniz ip ucu, işime çok yaradı, teşekkür ederim.
Gelecek günden ne dilersen, doğacak günler onu getirir
Kullanıcı avatarı
mepc
Üye
Mesajlar: 191
Kayıt: 26 Eyl 2003 11:39
Konum: Ankara

Mesaj gönderen mepc »

dataset.recno:=42;
Bilgi paylaşıldıkça güzeldir.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Belki RecNo ile kontrol edilebilirse de dediğiniz gibi profesyonelcesi bir SIRA_NO diye alan ekleyip her kayıtta 1 artırarak kaydedebilirsiniz. Böylece de istediğiniz kayıta daha garantili ulaşabilirsiniz.

Sizin dediğiniz yöntemde;

Kod: Tümünü seç

AdoQuery1.First;
while not AdoQuery1.EOF and AdoQuery1.RecNo < 42 do 
  AdoQuery1.Next;
// 42 den sonra yapılacak işlemler..
Dikkat edilmesi gereken bu RecNo ya fazla güvenmemek gerekir :!:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
danaci
Üye
Mesajlar: 178
Kayıt: 24 May 2005 01:45

Mesaj gönderen danaci »

kimse neden locate komutundan bahsetmiyor
sanırım locate komutu snein işini görecektir.
Cevapla