Access C# C# Windows Form Örnekleri Programlama

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.

Video:

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.

78 Yorum

  • Merhaba,

    Size şöyle bir sorum olacak yardımcı olabilirseniz sevinirim ;
    SP’den geriye ilgili duruma göre değer döndürmek ve bu değeri C# ile yakalamak istiyorum. Bu
    değerlere göre sisteme giriş yapmaya çalışan kulanıcıya anlamlı mesajları vermek istiyorum. (Eğer
    sistemde tanımlı bir kullanıcı sisteme giriş yapmaya çalışıyorsa ve şifreyi yanlış yazmışsa
    SP’den -1 değerini dönsün ve Windows Forms Login ekranında “Kullanıcı adına ait
    şifre doğrulanamadı!” mesajını verdirtmek . Eğer kullanıcı adı veya şifre yanlış girilmişse SP’den
    geriye 0 değerini dönsün ve “Kullanıcı adını ve şifreyi kontrol ediniz!” mesajını
    döndürsün. Eğer kullanıcı adı ve şifre doğru ise SP’den 1 değerini dönsün.
    Yardımcı olursanız sevinirim, Şimdiden teşekkürler.

  • kullanıcı adı ve şifre girildikten sonra giriş yapma sayfası kapanması için ne yapmam gerek. frm2.show; dan sonra close(); yaptığımda program kapandığı için gerisi gelmiyor. yardımcı olurmusunuz

  • merhaba değerli çalışmalarınız için teşekkürler çok faydalandım.Fakat bu kullanıcı giriş ekranını windowstaki bir kullanıcı adı ve şifre ile yapmak istiyorum.bunu nasıl yapabilirim bilginiz varmı

  • Merhaba , c# form üzerinde bir form tasarımım var burada kullanıcı bilgileri diye bir tollstrip menü butonum var ve amacım girilen kişinin bilgilerine göre o menüyü doldurmak . Mesela a kişisi giriş yapıp menüye ulaşınca altında onun kullanıcı bilgileri gözükecek .

  • Merhaba öncelikle çok güzel ve faydalı bir site olmuş.Benim yapmak istediğim Admin isimli bir kullanıcı ile girildiğinde diğer kullanıcılar için kullanıcı tanımlama ve yetkilendirme işlemleri yapmak.Bunu nasıl yapabilirim veritabanı kısmında?

  • Ahmet bey merhaba ben farklı bir konu hakkında bilgi almak istiyorum

    diyelimki elimde iki adet form mevcut bunlardan 1. formun sil butonuna basdığımda 2.form açılıp sil şifresi isteyecek bu şifreyi girdikten sonra 1.formdaki silme işlemi aktifleşecek

    yani formlar arası bir sil şifresi

  • iyi akşamlar benim yapmak istediğim iki tane giriş personeli olsun. ama birisi her şeye erişebilirken diğeri sadece okuyabilsin istiyorum. yardım ederseniz sevinirim.

  • 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();
      }

  • 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.

  • 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.

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

  • 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ı?

      • 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.

          • 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.

  • 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.

  • 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..

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

      şeklinde yapabilirsiniz.

Yorum yap