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.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
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?
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
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.
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi ile Scada Milenyumotomasyon 17 1.090 Dün, Saat: 17:08
Son Yorum: QuAdR
  Delphi'de AES şifreleme (AES128, AES192, AES256) csunguray 9 3.761 05-03-2020, Saat: 16:22
Son Yorum: Fesih ARSLAN
  Sql Server Veritabanı Bozulmaları Tespit ve Önleme Yöntemleri adelphiforumz 4 1.664 20-01-2020, Saat: 17:08
Son Yorum: Bay_Y
  Delphi'de Indy SMTP ile e-mail gönderme. (GMail, Yandex, Yahoo vb.) csunguray 15 6.792 26-06-2019, Saat: 13:59
Son Yorum: csunguray
  Delphi LZW Algoritması narkotik 2 1.641 14-06-2019, Saat: 09:19
Son Yorum: frmman



Konuyu Okuyanlar: 1 Ziyaretçi