sonraki kayda yada önceki kayda gitme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
kyilmaz46
Üye
Mesajlar: 16
Kayıt: 15 May 2005 12:09

sonraki kayda yada önceki kayda gitme

Mesaj gönderen kyilmaz46 »

selamün aleyküm
personel programı hazırlıyorum. veri tabanı olarak SQL kullanıyorum. Kaydı

Kod: Tümünü seç

If (Edit1.Text<>EskiSicil) or (Edit1.Text<>'') Then
         Begin
             S:=Format('(Sicili=%S)',[Edit1.Text])  ;

         end;

         If S<>'' Then
      Begin

         S:='Where '+S;
         S:='Select * From Personel  '+S+' Order By Adi';
         Dm.Adoquery1.Close;
         Dm.Adoquery1.SQL.Clear;
         Dm.Adoquery1.sql.Add(S);

         Dm.Adoquery1.ExecSQL;
         Dm.Adoquery1.Open;


      end;
bu kodla veri tabanından çekiyorum
bu şekilde veri tabanından edit1.text hangi kaydın numarası girilmişse o kaydı çekiyor. yani 1 kişiye ait kaydı çekiyor.
Bir Sonraki kayda gitmek istediğimde Dm.Adoquery1.Next codunu yazıyorum bir sonraki kaydı getirmiyor. Sebebi tüm kayıtları veri tabanından almadığım için bunu biliyorum. çünkü daha önce tüm kayıtları çekiyordum çalışıyordu. Peki niçin değiştirdin diye düşünen arkadaşlar olabilir. Tüm kayıtları çekmek istediğimde kayıtlar +fotolar ağda client bilgisayarda yaklaşık 1 dakikada geliyor her işlem için 1 dk beklemek zorunda kalıyordum.
Yazmış olduğum kodla bir sonraki yada bir önceki kaydı nasıl getirebilirim. formda aradım sağlıklı bir sonuç bulamadım. Teşekkürler....
En son kyilmaz46 tarafından 03 Haz 2007 08:50 tarihinde düzenlendi, toplamda 2 kere düzenlendi.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

bir sonraki dediğinde neye göre bir sonrakini getirecek

onuda yazarsan daha anlaşılır olabilir bence
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
kyilmaz46
Üye
Mesajlar: 16
Kayıt: 15 May 2005 12:09

Mesaj gönderen kyilmaz46 »

ALUCARD hocam

bir sonraki derken yazmış olduğum kodda kaydı form arayüzüne getirmiş oldum. form da bir ileri butonum var ve bu buton altında dm.Adoquery1.next yapıyorum sonraki kayıt gelmiyor next bir sonraki kayda prior ile de bir önceki kaydı daha önce çağırıyordum.
hgunes
Üye
Mesajlar: 27
Kayıt: 01 Nis 2007 03:40
Konum: Çorum

Mesaj gönderen hgunes »

s.a

Çözümü master-detail yapı ile halledebilirsin. Master tabloda sicilid alanı haricinde diğer alanları çekmezsin. Detay tabloda ise gerekli olan tüm alanları çekersin. Master ile detay tablo sicilid üzerinden bağlanır. Böylece her seferinde tek kayıt çekmiş olursun. Next, prior gibi hareketleri master tablo üzerinde, edit, insert gibi işlemleri de detay tablo üzerinde yaparsın. Delete işleminde sıkıntı yaşayabilirsin. Bunu da ekstra kodla halledilirsin.

Kolay gelsin.
Kullanıcı avatarı
Hancet
Üye
Mesajlar: 107
Kayıt: 08 May 2005 01:18
Konum: Burdan...
İletişim:

Mesaj gönderen Hancet »

A.S.

Kayıt numarasına göre arama yaptığına göre, İleri butonuna tıkladığın zaman Edit'e girdiğin değeri 1 arttırarak tekrar SQL sorgusu yapabilirsin. aynı şekilde Geri butonuna tıklandığında da 1 azaltarak sorgunu yenilersin.

Bu şekilde işini görür mü?
Varmı Beni İçinizde Tanıyan?
Yaşanmadan Çözülmeyen Sır Benim
Kalmasada Şöhretimi Duymayan,
Kimliğimi Tarif etmek zor Benim.
Kimsesizim hısmım da çok, hasmım da,
Görünmezim cismim de yok, resmim de,
Dil üzmezim, tek hece var ismimde,
Barınağım Delphi denen yer Benim..!
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
sicil numarasını kullanarak yapabilirsin.
next düğmesinde

Kod: Tümünü seç

 select top (1) * from personel where sicilno>eskisicilno
order by sicilno
prior düğmesindede buna benzer bir işlem ile

Kod: Tümünü seç

select top(1) from personel where sicilno<eskisicilno
order by sicilno desc
diyerek kayıtları seçersin. bilgilieri yükleme işini artık sen halledersin.
:wink:
kolay gelsin
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla