Delphi Dünyası Facebook'ta

Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

Gönderen Konu: Kendi Otomatik Artan Alanınızı Oluşturun  (Okunma sayısı 2673 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Kendi Otomatik Artan Alanınızı Oluşturun
« : 08 Ekim 2005 14:49:20 »
Öncelikle tablomuzu oluşturuyoruz.tablo adı delphidunyasi olsun. otomatik artmasını istediğiniz alanın tipini Sayısal bir tip olarak seçin. örneğin integer tipini seçebilirsiniz.  otomatik artmasını istediğiniz alanın adınıda OtoAlan olarak belirlediğinizi varsayıyorum. bildiğiniz şekilde veritabanı bağlantınızı yapın. Ek olarak delphidunyasi tablosundan en büyük sayının bir fazlasını bulabilmemizi sağlayacak sorgumuzu çalıştırabilmemiz için forma 1  query ekliyoruz.
Query'nin SQL özelliğine Select Max(otoAlan)+1 As myOtoAlan From delphidunyasi

Şimdi bu sorguyu Datasetiniz herneyse (query,table vb.) afterinsert olayında çalıştırıp dönen değeri delphidunyasi tablosundaki otoAlan adlı alanımıza değeeri atıyoruz.
datasetinizin after isert olayına aşağıdaki kodu yazıyoruz.
Kod: [Seç]
BenimQuery.Open;
SizinDataset.FieldByName('otoAlan').Asinteger:=benimQuery.Fi eldByName('myOtoAlan').Asinteger;
benimQuery.Close;

bunu Datasetinizin BeforePost olayına aşağıdaki şekilde yazarakta halledebilirsiniz
Kod: [Seç]
if SizinDataset.FieldByName('otoAlan').isNull Then //Alan Boşsa
Begin
BenimQuery.Open;
SizinDataset.FieldByName('otoAlan').Asinteger:=benimQuery.Fi eldByName('myOtoAlan').Asinteger;
benimQuery.Close;
End;
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı NewCoder

  • Delphi 1 Level 4
  • ****
  • İleti: 30
  • Rep: +0/-0
Kendi Otomatik Artan Alanınızı Oluşturun
« Yanıtla #1 : 11 Ekim 2005 14:27:21 »
hocam eline sağlık çok güzel bir makale olmuş.Firebirdde auto incremen t alanlarda sorunlar  yaşayanlar için çok güzel bir olay.Ama bilmediğim ve deneyemediğim için sadece öğrenmek amaçlı soruyorum.Belirli bir kayıttan sonra bu yavaşlamaya sebep olurmu acab.Teşekkürler.Kolay gelsin.
Patch'i Çıkmamış Programdan Ümit Kesilmez.

Mal kaybeden, bir şey kaybetmistir, onurunu kaybeden birçok şey kaybetmiştir.
Fakat cesaretini kaybeden her şeyini kaybetmistir.
--Goethe--

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Kendi Otomatik Artan Alanınızı Oluşturun
« Yanıtla #2 : 11 Ekim 2005 16:25:19 »
belli bir süre alabilir ama gözle görülür bir yavaşlama olacağını sanmıyorum
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı omurolmez

  • Delphi 4 Level 3
  • ***
  • İleti: 177
  • Rep: +0/-0
  • Cinsiyet: Bay
  • Delphi Sürümü: Delphi 6
Ynt: Kendi Otomatik Artan Alanınızı Oluşturun
« Yanıtla #3 : 06 Temmuz 2011 10:46:45 »
Peki bunun yararı nedir ? Yani bize ne kazandırıyor ? (autoinc tipine ve sequence nesnesine rağmen buna ihtiyaç duyduğunuza göre)
Ömür Ölmez