Delphi Can
Delphi'de Veritabanı İle Kullanıcı Giriş Ekranı - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Veri Tabanı (http://www.delphican.com/forumdisplay.php?fid=4)
+--- Forum: Diğer Veri Tabanları (http://www.delphican.com/forumdisplay.php?fid=18)
+---- Forum: Microsoft Access (http://www.delphican.com/forumdisplay.php?fid=73)
+---- Konu Başlığı: Delphi'de Veritabanı İle Kullanıcı Giriş Ekranı (/showthread.php?tid=1401)



Delphi'de Veritabanı İle Kullanıcı Giriş Ekranı - Halil Han Badem - 10-10-2017

Hayırlı akşamlar,

Bu konuyu açmamda ki en büyük etken, yeni başlayanların çoğunun veritabanı giriş ekranı yapma isteğidir(Nedenini bende keşfedebilmiş değilim  Angel ). İsterseniz bu yazımda bir kullanıcı girişi nasıl yapılır onu anlatayım, hem soranlara direkt link ile yardımcı olabilir, olabilirim  Shy


Idea  SENARYO: ACCESS VERİTABANI İLE KULLANICI ADI VEYA TELEFON İLE ŞİFRE EŞLİĞİNDE GİRİŞ SAĞLANMASI.



1) Veritabanı Oluşturma

 Öncellikle Access veritabanızı oluşturup, gerekli kolonları oluşturuyoruz.

XEk6Jo.png


 Veritabanımızı oluşturduktan sonra ise tablomuzu oluşturuyoruz;

Ey8Dp9.png


 Bu şekilde oluşturduğumuz tablomuzu kaydediyoruz. Hemen sonrasında Delphi ile projemizi açıp veritabanımızın yanına projemizi kaydedip, bir sefere mahsus derliyoruz.(Data.mdb dosyasını uygulamanın yanına koymak için.)

Bu işlemleri halletikten sonra bu şekilde bir win32>Debug klasörünüzün olması gerekir;

2E1a8v.png


Bu şekilde ise sorun yok! Şimdi forum tasarımımızı halledelim;

9DoN2Q.png


Bu şekilde forum tasarımını yaptık(Buna bağlı kalmanıza gerek yok Sad ). Şimdi ise gerekli bileşenleri sürükleyelim;

WGkD1L.png


Şimdi isterseniz biraz bileşenlerimizden bahsedelim;

Baglanti(UniConnection): Veritabanı ile bağlantı sağlamanızı sağlar.
Sorgu(UniQuery): Veritabanı içinde sorgu yapmanızı sağlar.
Provider(AccessUniProvider): UniConnection çalışabilmesi için driver görevi görür.

Bu işlemleri hallettikten sonra artık kodlama merasimine geçebiliriz;

Exclamation  Formun OnCreate olayına;

procedure TForm1.FormCreate(Sender: TObject);
begin
try
  with Baglanti do
 begin
  ProviderName := 'Access';  //Veritabanı türünü belirler.
  Database := 'Data.mdb'; //Uygulamanın bulunduğu yolu işaret eder.
  // Password := **** --> Şifre olduğunda bu parametre kullanır.
  Connected := True; //Bağlantıyı açtıran komut.


     with Sorgu do
     begin
       Connection := Baglanti; //Baglanti connection bileşenimizi query bileşenine tanıtıyoruz.
     end;

 MessageBox(handle, 'Veritabanı ile bağlantı başarıyla sağlandı!', 'Başarılı!', MB_OK + MB_ICONINFORMATION);

 end;
except
  MessageBox(handle, 'Veritabanı bağlantı hatası!', 'Hata!', MB_OK + MB_ICONERROR);
  Application.Terminate;  ///Program kapatma komutu.
end;
end;

Yorum satırlarıyla kodları açıklamaya çalıştım biraz. :ss

 Bu kodlar, program açılışında(Create edilirken) bize veritabanı bağlantısını sağlayacaktır;

QpB2M3.png

Gibi...

Forma eklediğimiz Buttonun OnClick olayına;

procedure TForm1.Button1Click(Sender: TObject);
begin
with Sorgu do
begin
  Close;  //Sorgu kapatılıyor.
  SQL.Clear; //Ne olur ne olmaz SQL tahtamız siliniyor.
  SQL.Text := 'select * from KullaniciGiris where (KAdi=:Kadi or KTelefon=:KTelefon) and KSifre=:KSifre'; //SQL sorgumuzu ekliyoruz.
  ParamByName('KAdi').Value := Edit1.Text;  //Parametlereler tanımlanıyor..
  ParamByName('KTelefon').Value := Edit1.Text;  //Parametlereler tanımlanıyor..
  ParamByName('KSifre').Value := Edit2.Text;   //Parametlereler tanımlanıyor..
  Open;  //Sorgu açılıyor.
end;

 if Sorgu.RecordCount > 0 then    /// Kayıt sayısı eğer 0'dan büyük ise kullanıcı var ve giriş izni verilir.
 begin
   MessageBox(handle, 'Giriş başarıyla gerçekleşti, tebrikler!', 'Tebrikler!', MB_OK + MB_ICONINFORMATION);
 end
 else
 begin
   if Sorgu.RecordCount <= 0 then     /// Kayıt sayısı 0 veya 0'dan küçük bir sayı ise kullanıcı yok ve izin verilmez.
   begin
     MessageBox(handle, 'Kullanici Adi veya Şifre Yanlış!', 'Bi Yanlışlık Var!', MB_OK + MB_ICONWARNING);
   end;
 end;

end;

 Bunlar ise bizim kullanıcımızın olup olmadığını sorgulayan kodlar;




Sonuçlar;

zJ5MaY.png
(Sadece kullanıcı adı ile giriş)



GyRDP2.png
(Telefon numarası ile giriş)



yz5qNL.png
(Şifre yanlış olduğunda.)


NOT: KAdi('DelphiCan'), KTelefon('666666'), KSifre('123456') olarak kaydedilmiştir.
 

Blush  Bu proje hakkında bir video hazırlamıştım, belki fazlaca acemi olabilir ama umarım katkısı olur.

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.


Cool Proje GitHub linki:

Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.



Saygılarımla,
İyi çalışmalar.


Delphi'de Veritabanı İle Kullanıcı Giriş Ekranı - dicle_gsm - 10-10-2017

Çok güzel anlatım gerçekten, elinize sağlık hocam.


Cvp: Delphi'de Veritabanı İle Kullanıcı Giriş Ekranı - Fesih ARSLAN - 10-10-2017

Merhaba,
Alıntı: Bu proje hakkında bir video hazırlamıştım, belki fazlaca acemi olabilir ama umarım katkısı olur.

Paylaşım ve eğitim videosu için teşekkür ederiz. Acemilik her seviyede vardır. Her seviye, bir üst kademeye göre acemidir. Smile
Önemli önemli olan az da olsa paylaşımda bulunabilme isteğidir.
Tekrar teşekkürler.


Delphi'de Veritabanı İle Kullanıcı Giriş Ekranı - tgural - 10-10-2017

Anlatımın sade ve yalın olması çok güzel. Konuyu çok iyi ifade etmişsiniz. Bilgi için teşekkürler, elinize sağlık.