Kendi Otomatik Artan Alanınızı Oluşturun Gönderen: Fatih Tarih: 08 October 2005 15: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.
BenimQuery.Open;
SizinDataset.FieldByName('otoAlan').Asinteger:=benimQuery.Fi eldByName('myOtoAlan').Asinteger;
benimQuery.Close;
bunu Datasetinizin BeforePost olayına aşağıdaki şekilde yazarakta halledebilirsiniz
if SizinDataset.FieldByName('otoAlan').isNull Then //Alan Boşsa
Begin
BenimQuery.Open;
SizinDataset.FieldByName('otoAlan').Asinteger:=benimQuery.Fi eldByName('myOtoAlan').Asinteger;
benimQuery.Close;
End;
Kendi Otomatik Artan Alanınızı Oluşturun Gönderen: NewCoder Tarih: 11 October 2005 15: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.
Kendi Otomatik Artan Alanınızı Oluşturun Gönderen: Fatih Tarih: 11 October 2005 17:25:19
belli bir süre alabilir ama gözle görülür bir yavaşlama olacağını sanmıyorum