|
|
||||||||||||
|
|
Otomatik
Sayı Değişmez
Verilen cevaplar hep aynı. Herhalde bunu bilmeyen de kalmamıştır. Bu veri alanının temel özelliği her yeni kayıt anında otomatik artması. Örneğin Access içinde iken yeni kayıt moduna geçildiği anda bu değer otomatik olarak artırılır. ADO ile SQL Server'a bağlanırken konumlandırıcı tipine göre ekleme komutu gönderildikten sonra bu değerler değişik seçeneklere göre artırılabilirler.(*)
Bu işlemin nasıl yapıldığını anlatıyorum fakat kullanmanızı tavsiye etmiyorum ve problem çıkmayacağını garantilemiyorum. Deneme amaçlı bir veritabanı ve bu veritabanı dosyasında otomatik sayı alanı içeren bir tablo oluşturdum. Bu tabloya 15 kayıt ekledim ve bazı kayıtları sildim. Bu durumdayken dosyanın bir yedeğini aldım. Normal şartlarda Otomatik Sayı değerinin veritabanı dosyası içinde bir yerlerde tutulması gerekir. Bu durumda otomatik sayı ile ilgili bir işlem sonrasında veritabanı dosyasında bir yere bu bilgi yazılmalıdır. Bu teoriden yola çıkarak tabloda yeni kayıt satırına gelip birşeyler yazdım ama sonra ESC tuşu ile kayıttan vazgeçtim. Böylelikle son kullanılan otomatik sayı değeri dosyanın bir yerine yazılmış olur. Dosya kapatıp orjinal ve yeni dosyaların arasındaki farkları program kodu yazarak araştırdım.
İlk denemelerimde birçok fark olduğunu gördüm. Bunun sebebi veritabanı penceresinde farklı sayfa ve nesnenin seçili olmasıydı. Bu durumda farkı daha iyi algılayabilmek için tablolar sayfasının açık olması ve de kontrol edeceğim tablonun üzerine konumlanmış olmam gerekiyordu. En son denememde sadece iki fark olduğunu gördüm.
Her iki satır için ayrı ayrı değer aramaya başlamak gerekiyor. Otomatik sayı değerimiz en son 16 olduğuna göre bu değeri oluşturan baytları bulmak gerekiyordu. 106517. bayttan sonraki 4 bayt (LONG tipinde), 16 sayısını yani son kullanılan otomatik sayı değerini veriyordu. Bunun yerine bizim istediğimiz yeni değeri yazmamız yeterli oluyor.
Oraya ne yazılırsa otomatik sayı yeni değerini bu numaradan başlatıyordu. Burayı 0 olarak değiştirdikten sonra üst resimdeki gibi bir görüntü normaldi artık.
Değiştirilmiş
otomatik sayı değeri ile ilgili örnek dosyayı yükleyip inceleyebilirsiniz.
| ||||||||||||||||