Forum

VB .net sql unique ...
 
Bildirimler
Hepsini Temizle

VB .net sql unique hatasını giderme

5 Yazılar
5 Üyeler
0 Reactions
859 Görüntüleme
(@EmirYorulmaz)
Gönderiler: 64
Estimable Member
Konu başlatıcı
 

Merhaba,

vb.net üzerinden sql tabloya veri yazdırıyorum. Sorunsuz yazıyor. bir alana 2 defa yazım olmaması için sql server üzerindeki tabloda belirlenen alanı unique olarak işaretledim.

aynı veriden 2 defa girince textbox ile uyarı versin istiyorum. fakat şu anda o hatayı verdiremiyorum. farklı veri girersem sorun yok ama aynı veriyi girersem 

"System.Data.SqlClient.SqlException: 'Cannot insert duplicate key row in object...." hatası veriyor.

hata verdiği kod satırı şu şekilde;

 

sqlbaglanti.Open()

If komut.ExecuteNonQuery() = 0 Then
MsgBox("Kayıt Başarılı. " )
Else
MessageBox.Show("Hata")
End If

sqlbaglanti.Close()

 

executnonquery mantığını hala çözemediğim için sanırım başaramadm.

 
Gönderildi : 24/11/2017 20:43

(@serkanates)
Gönderiler: 1323
Üye
 

Try - Catch - Finally yapısını inceleyiniz. İyi çalışmalar.

 
Gönderildi : 24/11/2017 21:02

(@birolaydugan)
Gönderiler: 867
Prominent Member
 

kesinlikle index kullanmanızıda öneririm.

 
Gönderildi : 25/11/2017 15:01

(@mucahityilmaz)
Gönderiler: 498
Honorable Member
 

ExecuteNonQuery() sonucu dönen değerin 0'a eşit olması değil, 0'dan büyük olması sonucu kayıt başarılı demektir. Try Catch kullanırsanız Catch kısmında istediğiniz iletiyi ekrana yazdırabilirsiniz.

 
Gönderildi : 06/12/2017 04:55

(@JiyanEpozdemir)
Gönderiler: 16
Active Member
 

Merhaba,

Executenonquery sorgu sonucunda etkilenen satır sayısını dönecektir. 0 dönmesi hiçbir kayıt üzerinde değişiklik olmadığını bildirir. En sağlıklı çözüm insert öncesinde bir select yardımıyla unique değerlerin kontrolünü sağlamak olur. Select sorgusunun sonucuna göre ya insert akışına devam edilir, ya da texrbox a uyarı verilir.

 
Gönderildi : 03/01/2018 02:16

Paylaş: