Perşembe , 19 Ocak 2017
Anasayfa » ACCESS » C# Kullanıcı Girişi Uygulaması (Veritabanı)

C# Kullanıcı Girişi Uygulaması (Veritabanı)

Girilen Kullanıcı adı ve şifreyi access veritabanında kontrol ederek, kullanıcı kayıtlı ise sisteme giriş yapan değilse uyarı veren projemizi aşağıdaki şekilde oluşturalım.

Öncelikle kullanıcı adı ve şifre kontrolünü yapacağımız formu aşağıdaki şekilde oluşturalım.

Daha sonra kullanıcı adı ve şifre doğruysa açılacak formu oluşturalım ve kaydedelim.

Veri tabanımızı Access te aşağıdaki şekilde oluşturalım.

Deneme amaçlı birkaç kayıt girelim.

Oluşturmuş olduğumuz Access dosyamızı projemizin kayıtlı olduğu yere Debug klasörü içine atalım. Bu örnekte veritabanımızın adı “giris.accdb” tablomuzun adı “kullanici” olarak ayarlandı.

Şimdi kodlarıyazmaya başlıyabiliriz. Projemize

eklemeyi unutmayalım.

Aşağıdaki kodları yazıp programımızı çalıştırdığımızda kontrolün yapılarak form2‘nin açıldığını yada uyarı mesajı verdiğini görüyoruz.

Dilersek textbox2 ye ait Passwordchar özelliğini ayarlayarak şifrenin gözükmemesini sağlayabilirsiniz.

Not: Class yapısı kullanarak Login Form Oluşturma yazısına gitmek için buraya tıklayın.

Projeyi indirmek için tıklayın.

Hakkında admin

53 Yorumlar

  1. gayet iyi çalışıyor ama griş yaptıkdan sonra giriş yaptım form kapansa daha güzel olur bunun için ne eklemeliyim

    • f2.Show();
      satırından sonra;
      this.Hide();
      diyerek şifre ekranını gizleyebilirsiniz. Form2 açılarak Giriş ekranı gizlenecektir. Fakat Form2 yi kapattığınızda arka planda bu giriş ekranı çalışmaya devam eder. Bunu için Form2_Closing olayına aşağıdaki kodları ekleyebilirsin.

      private void Form4_FormClosing(object sender, FormClosingEventArgs e)
      {
      Form1 f1 = new Form1();
      f1.Show();
      }

  2. ahmet abi e-posta alabilir miyim ?

  3. merhaba kolay gelsin. bir sorum olacak yardım ederseniz sevinirim. c# windows formda günlük projesi yapıyorum. ilk formum kullanıcı girişi ve kullanıcı ekleme(veritabanı olarak sql server kullanmam gerekiyor)kullanıcılar tablosunda kullanıcı no otomatik artıyor. ikinci formda kullanıcıların datagridte kendi günlüklerini görmeleri icin ne yapmam gerekiyor

    • Merhaba. İlişkili iki tablo kullanmak gerekiyor. Kullanici girişi yapıldıktan sonra select where ifadesi kullanarak 2. tabloda sadece giris yapan kullanıcı id sine ait kayıtlari göstermek gerekiyor. Yarın firsat bulunca benzer bir ornek atabilirim siteye.

  4. bu konuda acemiyim kardeş ben ziyeretçimin kullanıcı adı ve şifreyi girince benim belirlediğim sayfaya gitsin başka yeri görmesin istesem nasıl yaparım

    • Veri tabanında kullanıcı adı ve şifrelerin bulunduğu tabloda bir alan daha oluşturup kullanıcı tipine göre sayı verebilirsiniz. Atıyorum 1-Müdür 2-Muhasebe 3-Yönetici gibi. Daha sonra giriş yapıldığında kullanıcının yetkisine göre ilgili formu açtırabilirsiniz.

  5. Çok teşekkür ederim Ahmet bey sonunda halloldu çok sağolun hiç aklıma gelmemişti sorunun böyle birşeyden kaynaklanabileceği 🙂

  6. Kardeş hata yok diyorsun ama var. Burada verdiğin kodlar ile linkteki projedeki kodlar arasında fark var.

    Linkteki projede:
    cmd.CommandText = “Select * from kullanici where StrComp(k_ad,'” + textBox1.Text + “‘,0)=0 and StrComp(k_sifre,'” + textBox2.Text + “‘,0)=0”;

    Sayfadaki kod bundan farklı?

    • Merhaba. Linkteki proje büyük küçük harf duyarlılığı göz önüne alınarak yapıldı.

      • Tüm kodlar aynı, form1 ve form2 dediğiniz gibi oluşturuldu. Access te veritabanı oluşturdum önce o hata çıkardı “Microsoft.ACE.OleDb.12.0′ sağlayıcısı yerel makine kayıtlı değil ” onu hallettim fakat start yaptığımda form1 i dolduruyorum ancak form2 ye geçmiyor? sorun nedir anlayamadım. Her şey aynı form1 kodları aynı, veritabanı aynı. İnceliyorum veritabanı bağlantısında mı hata var harf hatası falan ama o da yok. Sizin proje çalışıyor benim ki çalışmıyor lütfen yardım edin 2 gündür uğraşıyorum kafayı yedim

        • Kodlarınızı buraya eklerseniz yada projeyi sıkıştırıp mail atarsaniz bugun müsait bir zamanda inceleyebilirim.

          • Ahmet.cansever@yandex.com.tr adresine mail olarak gönderdim. @mynet uzantılı “Proje Sorunu” konulu mail. Müsait vaktinizde incelerseniz çok sevinirim çok mutlu olurum

          • Merhaba. Sorununuzla ilgilendim. Mail göndermeye çalıştım fakat mümkün olmadı.Form1′ de butonu silme sonra tekrar ekleme gibi bir nedenden dolayı olduğunu düşündüğüm bir sorun oluşmuş. Şunları denermisiniz.

            1-) Form1 Form tasarımı görünümündeyken Giriş butonuna çift tıklayın. Giriş butonu için Click_1 olayı açılacak ve kodların olmadığını göreceksiniz.
            2-) Daha önceden Button1 Click olayına yazmış olduğunuz kodları seçerek kes – yapıştır yapın.

            Bu işlemleri yapıp çalıştırdığımda projeniz çalıştı. Kolay gelsin.

  7. start dediğimde direk form 2 ye geçiyor ilk önce giriş yapıp ben gitmesini istiyorum nasıl düzeltcegiz

  8. Aklıma takılan bir soru var ;
    Debug klasörüne database dosyamızı attık ileride setup yaparken sorun oluşturur mu ? proje bittikten sonra.

  9. Merhaba, ben bu kodları kendi projeme uyarladım. Veri tabanımda hasta ve doktor tablolarım bulunuyor. Sizin kodlarınızı hasta girişi için uyguladım fakat aynı ekranda doktorda giriş yapabilmeli. İki tablonun kontrolünü nasıl yapabilirim? Bunun için yardımcı olabilir misiniz?

    • Veritabanında kullanıcı tablosuna bir alan daha ekleyip ör: hasta için:1 doktor için:2 kaydedebilirsiniz.
      Aynı şekilde Form kısmında da radiobutton koyarak Hasta ya da Doktor olarak seçim yaptırabilirsiniz. Sql sorgusunda da bu alanı da dahil ederek çözebilirsiniz. Benzer bir uygulama var. Aşağıdaki linkten indirip inceleyebilirsiniz.
      https://yadi.sk/d/SKmBKOiFqBuNn

      • Öncelikle cevabınız için teşekkür ederim. Ben veri tabanımda kullanıcı tablosu oluşturmamıştım. Hastanın bilgileri ve şifresi hasta tablosunda, doktorun bilgileri ise doktor tablosunda. Yani ikisini ortak bir alanda kontrol etmek istiyorum fakat bilgileri farklı tablolardan çekmek istiyorum. İki farklı sorgu çalıştırınca hata aldım. Kullanıcı tablosu eklemeden halledebilir miyim bu durumu?

    • Normalde ayırmak kolaylık sağlayacaktır.Ayrı tablo olmayacak ise Form üzerinde bir radio button ekleyerek seçim yapmasını ve ona göre ilgili tabloya yönlenmesini sağlayabilirsiniz.

      • Evet, radio button kullanınca istediğim şekilde çalıştı. Teşekkür ederim yardımlarınız için, iyi günler.

  10. Merhabalar , bende if sorgusu çalışmıyor tüm kodları aynı şekil yazdım hiçbir hata vermiyor fakat çalıştırınca ne yazarsak yazalım else kısmı çalışıyor. Yardımcı olursanız çok sevinirim teşekkürler..

  11. Merhaba reader de hata verior bi kodlara bakar mısınız??

  12. kardeş çalışmıyor kodlarda hata var sanırım

  13. şifre için büyük küçük harf duyarlılığını nasıl kontrol edebiliriz?

    • cmd.CommandText = “Select * from kullanici where StrComp(k_ad,'” + textBox1.Text + “‘,0)=0 and StrComp(k_sifre,'” + textBox2.Text + “‘,0)=0”;

      şeklinde yapabilirsiniz.

  14. Şifre değiştirme yapabilir misiniz

  15. dr = cmd.ExecuteReader(); hatası veriyor bende ya

  16. başarılı çalışma ama bende çalışmadı size ulaşabilirmiyim mail yoluyle?

Yorum Yap

Wordpress Tema indir