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# Veritabanı İle Şifre Değiştirme

13 Eylül 2020 C#
C# Veritabanı İle Şifre Değiştirme

Bugün C#’da SQL veritabanı kullanarak sistemde kayıtlı olan şifreyi nasıl değiştirebiliriz onu göreceğiz. Öncelikle formumuzu tasarlayalım.

Formumuzu tasarladıktan sonra ŞifreDeğiştir() adında bir metod oluşturalım. Öncesinde SQL kodlarına erişebilmek için using System.Data.SqlClient; kütüphanesini eklemeyi unutmayınız ve kodlarımızı yazmaya başlayalım.

SqlConnection baglanti = new SqlConnection("Data Source=ONUR;Initial Catalog=Mutakabat;Integrated Security=True");
public void SifreDeğiştir()
{
   try
   {
      baglanti.Open();
      string kayit = "update users set sifre=@p1 where firmaad='" + lblkullaniciad.Text + "'";
      SqlCommand guncelle = new SqlCommand(kayit, baglanti);
      guncelle.Parameters.AddWithValue("@p1", txtYeniSifre.Text);
      guncelle.ExecuteNonQuery();
      baglanti.Close();
      lblHata.Visible = true;
      lblHata.ForeColor = Color.Green;
      lblHata.Text = "Şifre Başarıyla Değiştirildi";
   }
   catch (Exception)
   {
      lblHata.Visible = true;
      lblHata.ForeColor = Color.Red;
      lblHata.Text = "Şifre Değiştirme Hatası";
   }

}

Yukarıda yazdığımız metod kullanıcı adına göre şifre değiştirme işlemini sağlamaktadır. Fakat veritabanında kayıtlı olan mevcut şifremizi de görmemiz lazım. Form’un Load eventine kodlarımızı yazalım.

private void Sifredegistir_Load(object sender, EventArgs e)
{
   checkBox1.Checked = false;

   try
   {
      SqlCommand mevcutsifre = new SqlCommand();
      baglanti.Open();
      mevcutsifre.Connection = baglanti;
      mevcutsifre.CommandText = "select * from users where firmaad='" + lblkullaniciad.Text + "'";
      SqlDataReader dr = mevcutsifre.ExecuteReader();
      if (dr.Read())
      {
         txtMevcutSifre.Text = dr["sifre"].ToString();
      }
      baglanti.Close();
   }
   catch (Exception)
   {
      lblHata.Visible = true;
      lblHata.ForeColor = Color.Red;
      lblHata.Text = "Mevcut Şifre Getirilemiyor";
   }
}

Yazdığımız kod Form yüklendiği zaman bize veritabanında kayıtlı olan şifremizi “txtMevcutSifre.Text” textine yazdırmaktadır. Tasarımda kullandığımız checkbox ise şifreyi göster ve kapat kullanılan bir araçtır. Peki nasıl kullandık hep beraber görelim. Öncelikle checkbox’ın CheckedChanged evetine tıklayıp kodları yazıyoruz.

private void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
   if (checkBox1.Checked == false)
   {
      txtMevcutSifre.UseSystemPasswordChar = true;
      txtYeniSifre.UseSystemPasswordChar = true;
      txtYeniSifreTekrar.UseSystemPasswordChar = true;
   }
   else
   {
      txtMevcutSifre.UseSystemPasswordChar = false;
      txtYeniSifre.UseSystemPasswordChar = false;
      txtYeniSifreTekrar.UseSystemPasswordChar = false;
   }
}

Kodlarımızı yazdıktan sonra ekran görüntülerini görelim.

Yukarıda yazdığımız kod ile mevcut şifremizi gizleyebilir ve görüntüleyebiliriz. Şimdi ise işin son kısmı olan veritabanında kayıtlı şifremizi nasıl değiştirilir göz atalım. Değiştir butonuna çift tıklayıp kodlarımızı yazalım.

private void BtnDegistir_Click(object sender, EventArgs e)
{
   if (txtYeniSifre.Text == txtYeniSifreTekrar.Text)
   {
      if (txtYeniSifre.Text != "" && txtYeniSifreTekrar.Text != "" && txtMevcutSifre.Text != "")
      {
         SifreDeğiştir();
      }
      else
      {
         lblHata.Visible = true;
         lblHata.ForeColor = Color.Red;
         lblHata.Text = "Alanları Boş Bırakmayınız";
      }
   }
   else
   {
      lblHata.Visible = true;
      lblHata.ForeColor = Color.Red;
      lblHata.Text = "Şifreler Eşleşmiyor";
   }
}
    

Yazdığımız kod sistemde mevcut olan şifremizi değiştirmeye sağlamaktadır. Alanlar boş ise yada şifreler eşlemiyor ise sistem bize uyarı verecektir. İşlemler doğru bir şekilde uygulandıktan sonra şifre değiştirme işlemi tamamlanmış olacaktır.

Etiketler: