Fonksiyon içinde sql sorgusu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
mrmetehan
Üye
Mesajlar: 4
Kayıt: 19 Şub 2018 02:28

Fonksiyon içinde sql sorgusu

Mesaj gönderen mrmetehan » 19 Şub 2018 02:34

Merhaba,
Daha önceden c# ve php ile çalışmalar yapmaktaydım fakat okuldaki ödevim gereği Delphi7 kullanarak bir otomasyon yazmamız istendi.
Veritabanı işlemleri çok karışık geldi.

Yapmak istediğimi şöyle anlatayım;
Fonksiyonlar oluşturacağım, bu fonksiyonların içinde sql sorguları çalıştırmak ve değeri return ettirmek istiyorum. Nasıl yapacağımı bilmiyorum.
Sizden ricam bir örnek verebilir misiniz?

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Fonksiyon içinde sql sorgusu

Mesaj gönderen kerpeten » 20 Şub 2018 03:38

Hangi DB Engine'yi kullanacaksınız, Delphi 7 de BDE, ADO, IBX, DBX standart olmak üzere en az 4 VT erişim motoru var.
Ayrıca hangi veri tabanını kullanacaksınız. Bu konuda da Firebird, Interbase, MSSQL, MySql gibi veritabanları mevcut. Öncelikle bunları belirlemelisiniz. Fikir beyan edebilmek için bunların belirli olması gerekiyor.

Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2077
Kayıt: 12 Haz 2003 03:05
Konum: merkez camii yanı

Re: Fonksiyon içinde sql sorgusu

Mesaj gönderen freeman35 » 20 Şub 2018 05:23

Sadece merakımdan soruyorum, size bu "ödevi" veren öğretmen, hiç pascal, delphi eğitimi vermedi mi? Direkt ödev mi verdi?
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!

mrmetehan
Üye
Mesajlar: 4
Kayıt: 19 Şub 2018 02:28

Re: Fonksiyon içinde sql sorgusu

Mesaj gönderen mrmetehan » 20 Şub 2018 06:29

kerpeten yazdı:
20 Şub 2018 03:38
Hangi DB Engine'yi kullanacaksınız, Delphi 7 de BDE, ADO, IBX, DBX standart olmak üzere en az 4 VT erişim motoru var.
Ayrıca hangi veri tabanını kullanacaksınız. Bu konuda da Firebird, Interbase, MSSQL, MySql gibi veritabanları mevcut. Öncelikle bunları belirlemelisiniz. Fikir beyan edebilmek için bunların belirli olması gerekiyor.
ADOConnection ile veritabanına erişiyoruz, MSSQL veritabanı kullanmaktayız.

mrmetehan
Üye
Mesajlar: 4
Kayıt: 19 Şub 2018 02:28

Re: Fonksiyon içinde sql sorgusu

Mesaj gönderen mrmetehan » 20 Şub 2018 06:34

freeman35 yazdı:
20 Şub 2018 05:23
Sadece merakımdan soruyorum, size bu "ödevi" veren öğretmen, hiç pascal, delphi eğitimi vermedi mi? Direkt ödev mi verdi?
Tabii ki eğitim verdi, eğitimin detayı ise şu; Bir Delphi7 PDF'ini baştan sona kadar yazılan uygulayarak okumak oldu. Ekstra merak ettiğimiz bir yerde ise evde kendimizin çözmemizi istedi.

PDF'de ise istediğim çözümü bulamadım.

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Fonksiyon içinde sql sorgusu

Mesaj gönderen kerpeten » 20 Şub 2018 09:17

Makinende MSSQL ve Management Studio kurulu olduğunu, Management Studio kullanmayı bildiğini varsayıyorum.
Bu takdirde öncelikle kendinize bir örnek veritabanı ve bunun içinde de örnek bir tablo oluşturmanız gerekiyor. Mesela;

1-Veritabanı yaratma
a-Management Studio'da ağaç yapısındaki Databases üzerinde sağ klik yapıp Create Database seçin ve burada isim (Database Name) kısmına ORNEK yazıp OK'e basın.
b-Ya da bunun yerine Üstte toolbar'da New Query ye basarak çıkan editörde şunları yazıp

Kod: Tümünü seç

create database ORNEK;

EXECUTE tuşuna basın.
VT'yi yaratmış oldun.
2-Örnek tablo yaratalım,
Bunun için oluşturduğumuz veritabanının üzerinde sağ klik yapıp menüden New Query'yi seçelim ve çıkan editöre şunları yazalım.

Kod: Tümünü seç

create table Ulke(
UlkeId int not null Identity(1,1) primary key,
UlkeKodu varchar(10),
UlkeAdi varchar(50),
ResmiDili varchar(30),
Nufusu int,
Yuzolcumu int,
Baskenti varchar(50),
BulunduguKita varchar(20),
BulunduguBolge varchar(20)
);
Daha sonra yine Execute tuşuna basalım (ya da F5'e);

3-
Biraz da veri ekleyelim
Ctrl+A ve Delete tuşlarıyla editördekileri silelim.

Buraya

Kod: Tümünü seç

insert into Ulke(UlkeKodu, UlkeAdi, ResmiDili, Nufusu, Yuzolcumu, Baskenti, BulunduguKita,BulunduguBolge) 
   values('TR', 'Türkiye', 'Türkçe', 79000000, 790000, 'Ankara', 'Avrupa', 'Balkanlar-Ortadoğu');
insert into Ulke(UlkeKodu, UlkeAdi, ResmiDili, Nufusu, Yuzolcumu, Baskenti, BulunduguKita,BulunduguBolge) 
   values('GR', 'Yunanistan', 'Yunanca', 10955000, 131957, 'Atina', 'Avrupa', 'Balkanlar-Ege');
insert into Ulke(UlkeKodu, UlkeAdi, ResmiDili, Nufusu, Yuzolcumu, Baskenti, BulunduguKita,BulunduguBolge) 
   values('IT', 'İtalya', 'İtalyanca', 60600000, 301338, 'Roma', 'Avrupa', 'Ege-Güney');
insert into Ulke(UlkeKodu, UlkeAdi, ResmiDili, Nufusu, Yuzolcumu, Baskenti, BulunduguKita,BulunduguBolge) 
   values('FR', 'Fransa', 'Fransızca', 66900000, 643801, 'Paris', 'Avrupa', 'Batı Avrupa-Akdeniz');
insert into Ulke(UlkeKodu, UlkeAdi, ResmiDili, Nufusu, Yuzolcumu, Baskenti, BulunduguKita,BulunduguBolge) 
   values('AL', 'Almanya', 'Almanca', 82670000, 357356, 'Berlin', 'Avrupa', 'Batı');
4- Bir de Management Studio'dan bir sorgu yapalım, yine bu editördeki yazdıklarımızı temizleyelim : Ctrl+A ve Delete ile
Sonra şu sorguyu yazalım

Kod: Tümünü seç

select * from Ulke where Yuzolcumu>400000;
Şimdi veritabanı kısmı hazır, Delphi tarafına geçilebilir. Sonraki mesajda da onu anlatacağım.

kerpeten
Üye
Mesajlar: 62
Kayıt: 26 May 2016 12:31

Re: Fonksiyon içinde sql sorgusu

Mesaj gönderen kerpeten » 20 Şub 2018 09:35

1-Delphi'yi açalım.
2-Yeni bir VCL uygulaması oluşturalım ve bunu diske kaydedelim; Menüden (File/Save All)
3-Form1 üzerine bir AdoConnection, bir AdoQuery, bir DBGrid, bir DataSource ve bir de Button ekleyip bunları düzenleyelim.
4-AdoConnection1'in önceki mesajda oluşturduğumuz veritabanına bağlanmasını ve Connected olmasını sağlayalım.
5-AdoQuery'nin Connection özelliğine AdoConnection1'i tanımlayalım.
6-DataSource1'in Dataset özelliğine AdoQuery1'i verelim
6-AdoQuery'nin SQL kısmına

Kod: Tümünü seç

select * from Ulke where Yuzolcumu>400000;
yazalım
7-DBGrid1'in DataSource özelliğine DataSource1'i verelim.
8-Button1 üzerine çift klik yaparak bu düğme için OnClick eventinin oluşmasını sağlayalım ve içine

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
  AdoQuery1.Open;
end;
yazalım.
9-Programı çalıştıralım ve Button1'e basalım. Bu durumda AdoQuery1 verdiğimiz sorgu komutları ile açılacak ve 2 ülke bilgileri DBGrid1'de görüntülenecektir.

mrmetehan
Üye
Mesajlar: 4
Kayıt: 19 Şub 2018 02:28

Re: Fonksiyon içinde sql sorgusu

Mesaj gönderen mrmetehan » 21 Şub 2018 11:08

kerpeten yazdı:
20 Şub 2018 09:17
Makinende MSSQL ve Management Studio kurulu olduğunu, Management Studio kullanmayı bildiğini varsayıyorum.
Bu takdirde öncelikle kendinize bir örnek veritab...
kerpeten bey sınıfca minnettarız. Teşekkürler.

Cevapla