AdoQuery Sonraki, Önceki kayıt sorunu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
cappy2005
Üye
Mesajlar: 35
Kayıt: 30 Kas 2005 02:42

AdoQuery Sonraki, Önceki kayıt sorunu

Mesaj gönderen cappy2005 »

Merhaba,

AdoQuery kullanarak veritabanına bağlandım ve istediğim kayıtları yükledim.Bu kayıtları ileri ve geri tuşları ile edit içinde gösteriyorum , sorum şu geri yaptığım zaman ilk kayıta kadar geliyor ancak bir kez daha basıyorum ve o zaman "ilk kayıt" diye hazırladığım show mesaj çıkıyor.Son kayıttada durum böyle yani son kayıttayım ama bir kez daha basınca "son kayıt" mesajı çıkıyor.Nedir bunun sebebi

Kod: Tümünü seç

  with dm do
  begin
    if qryTemp.Bof then
    begin
      ShowMessage('İlk Kayıt');
    end
    else
    begin
      qryTemp.Prior;
      Edit1.Text := qryTemp.Fields[1].AsString;
      Edit2.Text := qryTemp.Fields[2].AsString;
    end;
  end; 
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba;
doğrusuda bu değilmi zaten !

Sonm kayıttayken bir daha son kayıt dersen msj çıkması gerekmezmi ?

Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Anormal bir durum yok, olması gerekeni ve sen ne demişsen öyle yapıyor :wink:
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

arkadaş aslında sunu demek istiyor son kayıtta ise bir defa desin diyor...

ama yazdığı kod tıkır tıkır işliyor...


kod da sroun yok
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
eğer tablonun başına eya sonuna gelinmiş ise ilgili editin enable sini false yaparak kullanıcının tekrar o düğmeye tıklamasını engelleyebilirsin.
tabi düğmeleri tekrar enable yapmayı unutma.
forma bitane navigator koyup onun nasıl çalıştığını bi incele istersen.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7604
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Normali de bu zaten. Delphi bir önceki kayıta git dediğin zaman bir önceki kayıta gitmeye çalışır, gidemediği zamanda BOF döner.

İlk kayıta kadar bir önceki kayıt olduğu için normal gelir ve ilk kayıtta, bir önceki kayıta git dediğin zaman bulamadığı için BOF döner ve butonları vs. ayarlar.

NOT : Bu ileri - geri olayını mümkün olduğu kadar kullanmayın, SQL Server veritabanlarının mantığına ters. Kullanıcılar arama yaparak kayıtları bulsunlar.

Kolay gelsin.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba Mustafa Hocam
mussimsek yazdı: NOT : Bu ileri - geri olayını mümkün olduğu kadar kullanmayın, SQL Server veritabanlarının mantığına ters. Kullanıcılar arama yaparak kayıtları bulsunlar.
Mssql mantığına neden ters bunu açabilrmisiniz acaba. Eof,Beof bazen kullanılması gerekebiliyor. Eğer yavaşlıktan kastediyorsanız haklısınız yani eof beof veya firs, last gibi komutlar baya vtyi kasıyor. ama mantığına ters düşüyor demeniz kafamı karıştırdı.


Saygılarımla
Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7604
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

SQL Serverlarda (Oracle, MS SQL, Sybase, FireBird vs.) cursor'ler tek yönlüdür, ileri doğru. Bir önceki kayda gitmek baya maliyetli ve yavaş bir işlemdir. Arka planda bir sürü işlem yapılır.

Ayrıca iş mantığı olarak pek mantıklı gelmiyor bana. Mesela müşteriler olan bir ekranda bir önceki müşteriyi görüyüm demez veya işine yaramaz. Ad soyad veya numara işlem yapar.

Kolay gelsin.
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba;
Mustafa hocam bende yavaşlıktan kastettiğiniz anlmıştım sizinde belirtiğiniz gibi ilk kayıt,on kayıt işlemlerindeserver çok fazla kasılıyor.

Kolay gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Cevapla