Skip to main content

AccessTr.neT


vb.net access veri tabanı tutarsızlık ihlali

vb.net access veri tabanı tutarsızlık ihlali

#1
Selam arkadaşlar daha önce "tutarlılık ihlali" ile yaşadığım sorundan dolayı Google ile aramalarımda bu web sayfasını keşfetmiştim fakat aramalarımda bir türlü bulamadım ve ben de yeni konu açıp yardımcı olmak istedim...

Vb.net ile kullandığımız Access veritabanına kayıtları ekleyip sildiken sonra "Tutarlılık ihlali: DeleteCommand, beklenen 1 kaydın 0 kaydını etkiledi" hatasını almaktayız...

Bunun sebebi
Access veri tabanını sütunlarını ayarlarken Birincil Anahtar(Kimlik) sütunu kendisi otomatik bir değer veriyor
DataSet.xsd tablonun ayarlarında otomatik arttırma ve başlangıç dğerlerine bakarsanız bu da kendi başına değer veriyor hatta -1 ile başlar ve üzerine -1 ilave eder...

Şimdi Access veri tabanında yeni bir kayıtlar ekledik ve Kimlik değeri= 15 olduğunu varsayalım... Ardından bütün verileri sildik... Access'e göre sıra numarası 15 fakat vb.net ile yapılan ayarlarda hiç kayıt olmadığı için Kimlik değeri=1 kaydetme işlemi gerçekleştiğinde Access 16 olarak işliyor fakat datagridview'de görünen kayıt numarası 1.... O anda yanlış yapıldığını farkettiniz ve islme işlemini gerçekleştirdiğiniz vakit 1 numaralı kaydı silmeye kalkışıyor tabi veri tabanında bu değeri bulamadığı için hata veriyor...

Numaralandırmanın kontrolü hazırladığınız programda olacak... Yani Access veri tabanında sütunun özelliklerinde Sıralı=Evet(Yineleme Yok) diyeceksiniz ya da

Kaydet koduna 4. satırdaki veri tabanını tekrardan yükleyen
"Me.FListeTableAdapter.Fill(Me.Mustahsil_2015DataSet.FListe)" kodu eklemeniz olacaktır bu durumda Access'in verdiği kayıt numarası programa göre 1 ise 16 olarak güncellenecektir...
Kod:
Me.Validate
       Me.FListeBindingSource.EndEdit
       Me.TableAdapterManager.UpdateAll(Me.Mustahsil_2015DataSet)
       Me.FListeTableAdapter.Fill(Me.Mustahsil_2015DataSet.FListe)

Son Düzenleme: 26/03/2015, 12:26, Düzenleyen: Sherlock.Holmes.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da