Konuyu Oyla:
  • Derecelendirme: 4/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi'de Veritabanı İle Kullanıcı Ekleme
#1
Herkese selamlar,


Bu yazımda Access veritabanı ile kullanıcı nasıl ekleyeceğimizi anlatmaya çalışacağım. Tabi bu başlangıç seviyeler için güzel bir yazı olduğuna inanıyorum. İlk olarak Delphi'de Veritabanı İle Kullanıcı Girişi adlı yazımı okuyup öyle devam etmenizi istiyorum çünkü bu yazı devamı niteliğinde. İsterseniz yavaştan başlayalım.


Kullanacığımız bileşen seti: UniDac
Testin yapılacağı Delphi IDE versiyonu: Delphi XE10.2
Kullandığımız veritabanı: Access


Exclamation  İlk olarak bir kayıt formu oluşturuyoruz. Bu formu istediğiniz gibi oluşturabilirsiniz ama formunuzda bulunması gereken bileşenler şunlardır;
  • 1 adet UniConnection, UniQuery, AccessUniProvider, Button ekleyiniz.
  • 2 adet edit, label ekleyiniz.
Devam edelim;

BLvE4g.png


Ben böyle bir tasarım yapmış oldum;

Şimdi ise formumuzun onShow olayına veritabanı bağlantı kodlarını yazalım:

 with UniConnection1 do
 begin
  try
   ProviderName := 'Access'; //Hangi tür veritabanı istediğimiz belirtiyoruz.
   Database := ExtractFilePath(Application.ExeName) + 'data.mdb'; //veritabanı yolumuzu belirtiyoruz.
   Connected := True; //Bağlantıyı açıyoruz.
   ShowMessage('Veritabanı bağlantısı sağlandı!');
  except
   ShowMessage('Veritabanı bağlantı hatası!');
  end;
end;

Bu şekilde bağlantımızı gerçekleştirmiş olduk.

 Sıra geldi kayıt butonunun kodlarına. Veritabanında bulunan telefon bölümüne kayıt eklemedim istediğiniz kolon sayısı kadar parametre tanımı yapıp kaydınızı gerçekleştirebilirsiniz.

Kayıt butonu kodları

with UniQuery1 do
 begin
  try
   Connection := UniConnection1;   ///Hangi Connection bağlı olması gerektiğini belirtiyoruz.
   Close;                 //Bağlantıyı kapatıyoruz
   SQL.Clear;              //SQL temizliği yapıyoruz.
   SQL.Text := 'insert into KullaniciGiris(KAdi, KSifre) VALUES(:KAdi, :KSifre)'; //SQL kayıt sorgusunu yazıyoruz.
   ParamByName('KAdi').Value := Edit1.Text;       //Parametre tanımı yapıyoruz.
   ParamByName('KSifre').Value := Edit2.Text;     //Parametre tanımı yapıyoruz.
   ExecSQL;                                       ///SQL sorgusunu çalıştıyoruz.
   ShowMessage('Kullanıcı kaydınız tamamlanmıştır!');
  except
   ShowMessage('Kayıt yapılırken hata oluştu!');
  end;
end;


Bu işlemlerin ardından artık programımız güzelce kaydını yapabilir durumda. Dediğim gibi istediğiniz kadar veritabanında alan açabilir ve alanları tanımlayarak sonrasında param tanımı yaparak kaydınızı gerçekleştirebilirsiniz. 


Exclamation  UYARI: Bileşen isimleri yeni başlayanlar için değiştirilmemiştir, programlama esnasında bileşen adlandırmanızı şiddetle tavsiye ederim.

G9PEDN.gif




Saygılarımla,
İyi çalışmalar.
kisisel_logo_dark.png
WWW
Cevapla
#2
(08-02-2018, Saat: 01:18)Halil Han BADEM Adlı Kullanıcıdan Alıntı: Herkese selamlar,


Bu yazımda Access veritabanı ile kullanıcı nasıl ekleyeceğimizi anlatmaya çalışacağım. Tabi bu başlangıç seviyeler için güzel bir yazı olduğuna inanıyorum. İlk olarak Delphi'de Veritabanı İle Kullanıcı Girişi adlı yazımı okuyup öyle devam etmenizi istiyorum çünkü bu yazı devamı niteliğinde. İsterseniz yavaştan başlayalım.


Kullanacığımız bileşen seti: UniDac
Testin yapılacağı Delphi IDE versiyonu: Delphi XE10.2
Kullandığımız veritabanı: Access


Exclamation  İlk olarak bir kayıt formu oluşturuyoruz. Bu formu istediğiniz gibi oluşturabilirsiniz ama formunuzda bulunması gereken bileşenler şunlardır;
  • 1 adet UniConnection, UniQuery, AccessUniProvider, Button ekleyiniz.
  • 2 adet edit, label ekleyiniz.
Devam edelim;

BLvE4g.png


Ben böyle bir tasarım yapmış oldum;

Şimdi ise formumuzun onShow olayına veritabanı bağlantı kodlarını yazalım:

 with UniConnection1 do
 begin
  try
   ProviderName := 'Access'; //Hangi tür veritabanı istediğimiz belirtiyoruz.
   Database := ExtractFilePath(Application.ExeName) + 'data.mdb'; //veritabanı yolumuzu belirtiyoruz.
   Connected := True; //Bağlantıyı açıyoruz.
   ShowMessage('Veritabanı bağlantısı sağlandı!');
  except
   ShowMessage('Veritabanı bağlantı hatası!');
  end;
end;

Bu şekilde bağlantımızı gerçekleştirmiş olduk.

 Sıra geldi kayıt butonunun kodlarına. Veritabanında bulunan telefon bölümüne kayıt eklemedim istediğiniz kolon sayısı kadar parametre tanımı yapıp kaydınızı gerçekleştirebilirsiniz.

Kayıt butonu kodları

with UniQuery1 do
 begin
  try
   Connection := UniConnection1;   ///Hangi Connection bağlı olması gerektiğini belirtiyoruz.
   Close;                 //Bağlantıyı kapatıyoruz
   SQL.Clear;              //SQL temizliği yapıyoruz.
   SQL.Text := 'insert into KullaniciGiris(KAdi, KSifre) VALUES(:KAdi, :KSifre)'; //SQL kayıt sorgusunu yazıyoruz.
   ParamByName('KAdi').Value := Edit1.Text;       //Parametre tanımı yapıyoruz.
   ParamByName('KSifre').Value := Edit2.Text;     //Parametre tanımı yapıyoruz.
   ExecSQL;                                       ///SQL sorgusunu çalıştıyoruz.
   ShowMessage('Kullanıcı kaydınız tamamlanmıştır!');
  except
   ShowMessage('Kayıt yapılırken hata oluştu!');
  end;
end;


Bu işlemlerin ardından artık programımız güzelce kaydını yapabilir durumda. Dediğim gibi istediğiniz kadar veritabanında alan açabilir ve alanları tanımlayarak sonrasında param tanımı yaparak kaydınızı gerçekleştirebilirsiniz. 


Exclamation  UYARI: Bileşen isimleri yeni başlayanlar için değiştirilmemiştir, programlama esnasında bileşen adlandırmanızı şiddetle tavsiye ederim.

G9PEDN.gif




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

Sayın Halil Han Badem hocam konunun üzerinden epeyce vakit geçmiş ama ben bu konu ile yeni karşılaştım. Vermiş olduğunuz kodları firebird veritabanına bağlanmak için firedac bileşenine uyarladım ama çalıştıramadım yani bağlantıyı sağlayamadım yardımcı olursanız sevinirim. Uyarlamış olduğum kod aşağıda verilmiştir. Kullanmakta olduğum delphi rürümü ise 10.3 rio.

begin
with fdConnection1 do
begin
 try
  fdconnection1.DriverName := 'FB'; //Hangi tür veritabanı istediğimiz belirtiyoruz.
  fdconnection1.Params.DriverID:='FB';
  fdconnection1.Params.Database := ExtractFilePath(Application.ExeName) + 'DATA\SENKRON-2020.FDB'; //veritabanı yolumuzu belirtiyoruz.
  fdconnection1.Params.Add('user_name=SYSDBA');
  fdconnection1.Params.Add('password=masterkey');
  fdconnection1.Params.Add('lc_ctype=WIN1254');
  fdconnection1.Params.Add('sql_role_name=SYSDBA');
  fdconnection1.LoginPrompt:=false;
  Connected := True; //Bağlantıyı açıyoruz.
  ShowMessage('Veritabanı bağlantısı sağlandı!');
 except
  ShowMessage('Veritabanı bağlantı hatası!');
 end;
end;
Cevapla
#3
(27-08-2020, Saat: 11:07)bnyamin86 Adlı Kullanıcıdan Alıntı:
(08-02-2018, Saat: 01:18)Halil Han BADEM Adlı Kullanıcıdan Alıntı: Herkese selamlar,


Bu yazımda Access veritabanı ile kullanıcı nasıl ekleyeceğimizi anlatmaya çalışacağım. Tabi bu başlangıç seviyeler için güzel bir yazı olduğuna inanıyorum. İlk olarak Delphi'de Veritabanı İle Kullanıcı Girişi adlı yazımı okuyup öyle devam etmenizi istiyorum çünkü bu yazı devamı niteliğinde. İsterseniz yavaştan başlayalım.


Kullanacığımız bileşen seti: UniDac
Testin yapılacağı Delphi IDE versiyonu: Delphi XE10.2
Kullandığımız veritabanı: Access


Exclamation  İlk olarak bir kayıt formu oluşturuyoruz. Bu formu istediğiniz gibi oluşturabilirsiniz ama formunuzda bulunması gereken bileşenler şunlardır;
  • 1 adet UniConnection, UniQuery, AccessUniProvider, Button ekleyiniz.
  • 2 adet edit, label ekleyiniz.
Devam edelim;

BLvE4g.png


Ben böyle bir tasarım yapmış oldum;

Şimdi ise formumuzun onShow olayına veritabanı bağlantı kodlarını yazalım:

 with UniConnection1 do
 begin
  try
   ProviderName := 'Access'; //Hangi tür veritabanı istediğimiz belirtiyoruz.
   Database := ExtractFilePath(Application.ExeName) + 'data.mdb'; //veritabanı yolumuzu belirtiyoruz.
   Connected := True; //Bağlantıyı açıyoruz.
   ShowMessage('Veritabanı bağlantısı sağlandı!');
  except
   ShowMessage('Veritabanı bağlantı hatası!');
  end;
end;

Bu şekilde bağlantımızı gerçekleştirmiş olduk.

 Sıra geldi kayıt butonunun kodlarına. Veritabanında bulunan telefon bölümüne kayıt eklemedim istediğiniz kolon sayısı kadar parametre tanımı yapıp kaydınızı gerçekleştirebilirsiniz.

Kayıt butonu kodları

with UniQuery1 do
 begin
  try
   Connection := UniConnection1;   ///Hangi Connection bağlı olması gerektiğini belirtiyoruz.
   Close;                 //Bağlantıyı kapatıyoruz
   SQL.Clear;              //SQL temizliği yapıyoruz.
   SQL.Text := 'insert into KullaniciGiris(KAdi, KSifre) VALUES(:KAdi, :KSifre)'; //SQL kayıt sorgusunu yazıyoruz.
   ParamByName('KAdi').Value := Edit1.Text;       //Parametre tanımı yapıyoruz.
   ParamByName('KSifre').Value := Edit2.Text;     //Parametre tanımı yapıyoruz.
   ExecSQL;                                       ///SQL sorgusunu çalıştıyoruz.
   ShowMessage('Kullanıcı kaydınız tamamlanmıştır!');
  except
   ShowMessage('Kayıt yapılırken hata oluştu!');
  end;
end;


Bu işlemlerin ardından artık programımız güzelce kaydını yapabilir durumda. Dediğim gibi istediğiniz kadar veritabanında alan açabilir ve alanları tanımlayarak sonrasında param tanımı yaparak kaydınızı gerçekleştirebilirsiniz. 


Exclamation  UYARI: Bileşen isimleri yeni başlayanlar için değiştirilmemiştir, programlama esnasında bileşen adlandırmanızı şiddetle tavsiye ederim.

G9PEDN.gif




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

Sayın Halil Han Badem hocam konunun üzerinden epeyce vakit geçmiş ama ben bu konu ile yeni karşılaştım. Vermiş olduğunuz kodları firebird veritabanına bağlanmak için firedac bileşenine uyarladım ama çalıştıramadım yani bağlantıyı sağlayamadım yardımcı olursanız sevinirim. Uyarlamış olduğum kod aşağıda verilmiştir. Kullanmakta olduğum delphi rürümü ise 10.3 rio.

begin
with fdConnection1 do
begin
 try
  fdconnection1.DriverName := 'FB'; //Hangi tür veritabanı istediğimiz belirtiyoruz.
  fdconnection1.Params.DriverID:='FB';
  fdconnection1.Params.Database := ExtractFilePath(Application.ExeName) + 'DATA\SENKRON-2020.FDB'; //veritabanı yolumuzu belirtiyoruz.
  fdconnection1.Params.Add('user_name=SYSDBA');
  fdconnection1.Params.Add('password=masterkey');
  fdconnection1.Params.Add('lc_ctype=WIN1254');
  fdconnection1.Params.Add('sql_role_name=SYSDBA');
  fdconnection1.LoginPrompt:=false;
  Connected := True; //Bağlantıyı açıyoruz.
  ShowMessage('Veritabanı bağlantısı sağlandı!');
 except
  ShowMessage('Veritabanı bağlantı hatası!');
 end;
end;
Merhaba,
aldığınız hata nedir. Except ile hata mesajını gönderebilir misiniz?
kisisel_logo_dark.png
WWW
Cevapla
#4
Photo 
(27-08-2020, Saat: 11:24)Halil Han BADEM Adlı Kullanıcıdan Alıntı:
(27-08-2020, Saat: 11:07)bnyamin86 Adlı Kullanıcıdan Alıntı: Sayın Halil Han Badem hocam konunun üzerinden epeyce vakit geçmiş ama ben bu konu ile yeni karşılaştım. Vermiş olduğunuz kodları firebird veritabanına bağlanmak için firedac bileşenine uyarladım ama çalıştıramadım yani bağlantıyı sağlayamadım yardımcı olursanız sevinirim. Uyarlamış olduğum kod aşağıda verilmiştir. Kullanmakta olduğum delphi rürümü ise 10.3 rio.

begin
with fdConnection1 do
begin
 try
  fdconnection1.DriverName := 'FB'; //Hangi tür veritabanı istediğimiz belirtiyoruz.
  fdconnection1.Params.DriverID:='FB';
  fdconnection1.Params.Database := ExtractFilePath(Application.ExeName) + 'DATA\SENKRON-2020.FDB'; //veritabanı yolumuzu belirtiyoruz.
  fdconnection1.Params.Add('user_name=SYSDBA');
  fdconnection1.Params.Add('password=masterkey');
  fdconnection1.Params.Add('lc_ctype=WIN1254');
  fdconnection1.Params.Add('sql_role_name=SYSDBA');
  fdconnection1.LoginPrompt:=false;
  Connected := True; //Bağlantıyı açıyoruz.
  ShowMessage('Veritabanı bağlantısı sağlandı!');
 except
  ShowMessage('Veritabanı bağlantı hatası!');
 end;
end;
Merhaba,
aldığınız hata nedir. Except ile hata mesajını gönderebilir misiniz?

Veritabanı bağlantı hatası veriyor. 

try execpt bloğunu silersem aşağıdaki hatayı veriyor.

   
Cevapla
#5
(27-08-2020, Saat: 11:48)bnyamin86 Adlı Kullanıcıdan Alıntı:
(27-08-2020, Saat: 11:24)Halil Han BADEM Adlı Kullanıcıdan Alıntı: Merhaba,
aldığınız hata nedir. Except ile hata mesajını gönderebilir misiniz?

Veritabanı bağlantı hatası veriyor. 

try execpt bloğunu silersem aşağıdaki hatayı veriyor.

Merhabalar,

Mesajda da belirtildiği üzerine, formunuzun üzerine bir tane TFDPhysFDBDriverLink eklerseniz (Component Listesinden) hata kalmayacaktır sanırım.

Kolay gelsin.
Amaç, bilginin de/aklın da zekat'ını vermek.
Cevapla
#6
(27-08-2020, Saat: 11:55)hi_selamlar Adlı Kullanıcıdan Alıntı:
(27-08-2020, Saat: 11:48)bnyamin86 Adlı Kullanıcıdan Alıntı: Veritabanı bağlantı hatası veriyor. 

try execpt bloğunu silersem aşağıdaki hatayı veriyor.

Merhabalar,

Mesajda da belirtildiği üzerine, formunuzun üzerine bir tane TFDPhysFDBDriverLink eklerseniz (Component Listesinden) hata kalmayacaktır sanırım.

Kolay gelsin.

Sorun çözüldü teşekkür ederim.
Cevapla
#7
güzel çalışma olmuş eline sağlık.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile .Net Ortamında geliştirilen dll içerisindeki fonksiyon kullanımı yhackup 10 7.802 09-04-2023, Saat: 02:17
Son Yorum: gogo72
  Delphi ve Protocol Buffers SimaWB 10 6.636 10-12-2022, Saat: 15:04
Son Yorum: SimaWB
  Delphi AES 128 ECB PKCS5 Padding ile sorun aegean 1 761 28-11-2022, Saat: 13:07
Son Yorum: aegean
  Delphi IDE'sine Eklenti Yapmak - 2 SimaWB 29 21.341 03-07-2022, Saat: 16:40
Son Yorum: enigma
  Hazır pdf okuma, ekleme, imzalama ve yazdırma projesi (kaynak kod) delphicim 5 3.040 21-12-2021, Saat: 11:23
Son Yorum: Mikdad



Konuyu Okuyanlar: 1 Ziyaretçi