FIBplus Bileşenlerinde Bookmark Çalışmıyor

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

FIBplus Bileşenlerinde Bookmark Çalışmıyor

Mesaj gönderen Ali Erdoğan »

Merhaba TFIBdataset bileşeni ve bu bileşene bağlı detay bir TFIBdataset bileşenim var. Master tabloyu yenilemek için

Kod: Tümünü seç

      book := dtsData.GetBookmark;
      dtsData.close;
      dtsData.open;
      dtsData.GotoBookmark(book);
      dtsData.FreeBookmark(book);
ifadelerini kullanıyorum.Ancak bir türlü işe yaramıyor.Sanki kodlar yokmuş gibi ilk satıra gidiyor. Bunu nasıl çözebiliriz?
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

bir de şunu dene istersen

Kod: Tümünü seç

var 
yerimi : tbookmarkstr; 
begin 
yerimi := sorgu.Bookmark; 
//işlemler ekleme, silme, vs vs 
sorgu.Bookmark := yerimi; 
end; 
..
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

Mesaj gönderen Ali Erdoğan »

İşe yaramıyor sonuç aynı :(
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

biraz uzun ama ben bir yerde şöyle bir şey denemiştim..

datayı kapatmadan önce,
tablonda sıralı bir alanın varsa örnek alan2 ye göre sıralı
sorgu ile alan2 den küçük kayıtların sayısını sql ile buluyordum..

açtıktan sonra ise;

sorgu.MoveBy(x+1); // x=kapatmadan önce bulduğum kayıt sayısı;

belki bu işine yarayabilir..
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

Mesaj gönderen Ali Erdoğan »

Şu anda bende öyle yapıyorum.Ancak bu yeni kayıtlarda probleme yol açıyor.Bir kayıt insert edip ondan sonra post ve aç kapa gerçekleştirince ilk kayda konumlanıyor.

Yokmu bunun bir çaresi?
Kullanıcı avatarı
selimr
Üye
Mesajlar: 556
Kayıt: 16 Eki 2003 02:07

Mesaj gönderen selimr »

yukarda söylediğim x değerini beforeinsert den önce bulursan sorun olmaz sanırım..
Ali Erdoğan
Kıdemli Üye
Mesajlar: 1026
Kayıt: 11 Şub 2005 02:12
Konum: İstanbul

Mesaj gönderen Ali Erdoğan »

Options->opFetchall değerini true yapıp datasette kayıtları Birincil anahtarlarına göre sıralayınca bookmark çalışıyor. Ancak daha performanslı ve kullanışlı bir yol olmalı. Çünkü ib bileşenlerinin en büyük özellikleri tüm kayıtları çekmemeleri. Fetchall yapınca ado gibi oluyor.
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2384
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 »

FIBdataset kullanıyorsan, Options ta refreshafterpost u false yap, FIBQuery kullanıyorsanda, Goto First Record u false yap. Bunların default değerlerini IDE nin FIBPlus menüsünden set liye bilirsin

Kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Cevapla