Onur Keçe

Masaüstü Yazılım Geliştirici

Web Geliştirici

0

Sepetinizde ürün bulunmuyor.

Onur Keçe

Masaüstü Yazılım Geliştirici

Web Geliştirici

Blog Post

C# Aynı (Tekrar) Kaydın Engellenmesi (SQL)

27 Temmuz 2020 C#
C# Aynı (Tekrar) Kaydın Engellenmesi (SQL)

Merhaba arkadaşlar. Yaptığımız projelerde, otomasyonlarda birden fazla aynı kaydın oluşması projelerde sıkıntı oluşturmaktadır. Peki bunun önüne nasıl geöilir hep beraber göz atalım.

Form Tasarımı

Bu şekilde formumuzu tasarladıktan sonra kodlarımızı yazmaya başlıyoruz. İlk önce SQL kütüphanemizi ekliyoruz.

using System.Data.SqlClient;

Ekledikten sonra ise FirmaEkle() isimli public sınıf oluşturuyoruz ve için kodlarımızı yaşıyoruz.


SqlConnection baglanti2 = new SqlConnection("Data Source=ONUR;Initial Catalog=Mutakabat;Integrated Security=True");

public void FirmaEkle()
{
  try
  {
    baglanti2.Open();
    SqlCommand tekrar = new SqlCommand("select count(*) from firmalar where firmaad='" + txtFirmaAd.Text + "'", baglanti2);
    int sonuc = (int)tekrar.ExecuteScalar();
    if (sonuc == 0)
    {
      if (txtFirmaAd.Text != "" && txtMutabakatMail.Text != "")
      {
         baglanti.Open();
         string kayit = "insert into firmalar (kullaniciad,firmaad,yetkili,il,ilce,vergidaire,vergino,mutabakatmail,telefon,adres,borc) values (@p1,@p2,@p3,@p4,@p5,@p6,@p7,@p8,@p9,@p10,@p11)";
         SqlCommand ekle = new SqlCommand(kayit, baglanti);
         ekle.Parameters.AddWithValue("@p1", lblFirma.Text);
         ekle.Parameters.AddWithValue("@p2", txtFirmaAd.Text);
         ekle.Parameters.AddWithValue("@p3", txtYetkili.Text);
         ekle.Parameters.AddWithValue("@p4", cmbil.Text);
         ekle.Parameters.AddWithValue("@p5", cmbilce.Text);
         ekle.Parameters.AddWithValue("@p6", txtVergiDaire.Text);
         ekle.Parameters.AddWithValue("@p7", txtVergiNo.Text);
         ekle.Parameters.AddWithValue("@p8", txtMutabakatMail.Text);
         ekle.Parameters.AddWithValue("@p9", txtTelefon.Text);
         ekle.Parameters.AddWithValue("@p10", txtAdres.Text);
         ekle.Parameters.AddWithValue("@p11", txtBorc.Text);
         ekle.ExecuteNonQuery();
         baglanti.Close();
         lblMesaj.Visible = true;
         lblMesaj.ForeColor = Color.Green;
         lblMesaj.Text = "Firma Başarıyla Kaydedildi";
      }
      else
      {
         lblMesaj.Visible = true;
         lblMesaj.ForeColor = Color.Red;
         lblMesaj.Text = "'Firma Adı' ve Mutabakat Mail Boş Bırakılamaz";
      }
	}
    if (sonuc > 0)
    {
       lblMesaj.Visible = true;
       lblMesaj.ForeColor = Color.Red;
       lblMesaj.Text = "Zaten " + txtFirmaAd.Text + " Adlı Firma Mevcut";
    }
	baglanti2.Close();
  }
  catch (SqlException)
  {
     lblMesaj.Visible = true;
     lblMesaj.ForeColor = Color.Red;
     lblMesaj.Text = "Kayıt İşlemi Başarısız";
  }
}

  
 

Bu kodu yazarak aynı firmayı ikinci kez aynı isimde eklememize izin vermemektedir. Bu kod boluğunda hem boş kaydın yapılmaması ve hemde tekrar kaydın engellenmesini gördük. Kaydet butonunun Click Eventine sınıfımızı çağırıp projemizi bitirelim.

private void btnKaydet_Click(object sender, EventArgs e)
{
   FirmaEkle();
}
Etiketler: