C# SQL aynı kayıt yapmasın.


Merhaba Arkadaşlar;
C# üzerinden veri tabanınıza aynı kaydın yapılmaması için aşağıdaki yöntemden yararlanabilirsiniz.
Öncelikle veri tabanınızda ID, Sıra No gibi olan bölümü PRIMARY KEY özelliğini aktif edin. Bu özellik aynı kayıt yapmayı engelliyor. ve 2627 hata kodunu gönderiyor.
Aşağıdaki kodu kullanarak ta bu işi kontrol altına alabilirsiniz.

try
{
//kayıt kodları
}
catch(SqlException ex)
{
if(ex.Number == 2627)
{
//mesaj kutusu benzer kayıt giremezsin gibi
}
}



Örnek Kayıt Uygulaması:
private void btnkaydet_Click(object sender, EventArgs e)
        {
            try
            {
                if (txtid.Text != "")
                {

                    SqlCommand komut = new SqlCommand();
                    baglanti.Open();
                    komut.CommandText = "insert into nobetdefteri(Id,Tarih,Ogretmen,Ogrenci,No,Sinif) values ('" + txtid.Text.ToString() + "','" + dtarih.Text.ToString() + "','" + txtogretmen.Text.ToString() + "','" + txtogrenci.Text.ToString() + "','" + txtno.Text.ToString() + "','" + txtsinif.Text.ToString() + "')";
                    komut.Connection = baglanti;
                    komut.ExecuteNonQuery();
                    baglanti.Close();
                    tablo.Clear();
                    verilerigoruntule();
                    formusil();

                }
                else
                {
                    MessageBox.Show("Lütfen gerekli alanları doldurunuz!");
                }
            }
            catch (SqlException ex)
            {
                if (ex.Number == 2627)
                {
                    baglanti.Close();
                    MessageBox.Show("Kayıt Bulunmaktadır !");
                }

            }
        }

Yorumlar

Bu blogdaki popüler yayınlar

C# formun açık olup olmadığını denetlemek

c# Delay fonksiyonu - c# bekletme (not sleep)