Skip to main content

AccessTr.neT


C# ile mükerrer kayıt engelleme

C# ile mükerrer kayıt engelleme

Çözüldü #1
Kod:
      private void button1_Click(object sender, EventArgs e)
       {
           if ((textBox1.Text != "") && (textBox2.Text != "") && (textBox3.Text != ""))
           {
               baglanti.Open();
               string sorgu = "insert into ogrenciler(OkulNo,Ad,Soyad,Resim) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + pictureBox1 .ImageLocation + "')";
               OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
               komut.ExecuteNonQuery();                
               pictureBox1.Image.Save("Resimler/" + textBox1 .Text.ToString () + ".jpg");
               baglanti.Close();                
               TabloyuDoldur();
               MessageBox.Show("kayıt eklendi");                
           }
       }

Bu kod ile mükerrer kaydı nasıl engelleyebilirim?
Cevapla
#2
Kod:
private void button1_Click(object sender, EventArgs e)
      {
          if ((textBox1.Text != "") && (textBox2.Text != "") && (textBox3.Text != ""))
          {
              baglanti.Open();
              //string sorgu = "insert into ogrenciler(OkulNo,Ad,Soyad,Resim) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + pictureBox1 .ImageLocation + "')";
              string sorgu = "select OkulNo from ogrenciler where OkulNo=@da";
              OleDbCommand komut = new OleDbCommand(sorgu, baglanti);
              komut.Parameters.AddWithValue("@da", textBox1.Text);
              OleDbDataReader dr = komut.ExecuteReader();
              if (dr.Read())
                  {
                   MessageBox.Show("Aynı kaydı tekrar ekleyemezsiniz");
                   komut.ExecuteNonQuery();
                   baglanti.Close();
                  }
              else
                  {
                  string sorgum = "insert into ogrenciler(OkulNo,Ad,Soyad,Resim) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + pictureBox1.ImageLocation + "')";
                  OleDbCommand komut2 = new OleDbCommand(sorgum, baglanti);
                  komut2.ExecuteNonQuery();                
                  pictureBox1.Image.Save("Resimler/" + textBox1.Text.ToString () + ".jpg");
                  baglanti.Close();                
                  TabloyuDoldur();
                  MessageBox.Show("kayıt eklendi");
                  }
          }
      }

şeklinde yazınca mükerrer kaydı engellemiş oldum,belki birilerinin işine yarar.
Cevapla
#3
Eski bir konuyu hortlatmış gibi olacağım fakat Mükerrer kayıt engellemek için 

ExecuteScalar()  metodu daha mantıklı olacaktır. Tabloları tamamen taramak yerine kayıt sayısına bakıp 0 dan farklı ise Mükerrer Kayıt mesajı döndürecektir.

Not: MySqL veri tabanı kullandığım için Connection,Comand, ve using eklemelerim farklılık gösterir, Kendi veri tabanınıza uyarlayınız.

Kod:
MySqlConnection BaG = new MySqlConnection("Server=localhost;Database=dB_Adi;Uid=dB_Kullanici_Adi;Pwd=dB_Sifre;");
     
          BaG.Open();
           
string SoRgU = "SELECT Count(KullaniciAdi) AS Kullanici, KullaniciAdi FROM dbo_kullanicilar GROUP BY KullaniciAdi HAVING KullaniciAdi ='" + txt_KullaniciAdi.Text + "'";

            MySqlCommand cMd = new MySqlCommand(SoRgU, BaG);
            int sayi = (int)Convert.ToSByte(cMd.ExecuteScalar());
            if (sayi != 0)
            {
                MessageBox.Show(txt_KullaniciAdi.Text + "  KULLANICI DAHA ÖNCE KAYIT EDİLMİŞTİR.", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                BaG.Close();
                return;
            }
            else
            {   
          bu bölüme geldi ise daha önce kayıt edilmediğinden burada kayıt kodlarınız olacak.   
        }
             
            BaG.Close();

POWER 'un Çekirgesi :=)
ozguryasin, 23-09-2009 tarihinden beri AccessTr.neT AİLESİ üyesidir.
Access'i Profesyonel Şekilde Öğrenmek İçin https://www.accesstr.net Ailesi Yeter. alkis


Site Kurallarını sorularınızın hızlı cevaplanması için kesinlikle okuyunuz.
Cevapla
#4
Merhaba bu kodların tamamı nı paylaşabilirmisiniz. banada lazım kodlar. ayrıca çok teşekkür ederim. faydalı bilgiler
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da