Fonksiyon içinde sql sorgusu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Fonksiyon içinde sql sorgusu
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?
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?
Re: Fonksiyon içinde sql sorgusu
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.
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.
Re: Fonksiyon içinde sql sorgusu
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 !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Fonksiyon içinde sql sorgusu
ADOConnection ile veritabanına erişiyoruz, MSSQL veritabanı kullanmaktayız.kerpeten yazdı: ↑20 Şub 2018 04: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.
Re: Fonksiyon içinde sql sorgusu
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.
Re: Fonksiyon içinde sql sorgusu
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
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.
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
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
Şimdi veritabanı kısmı hazır, Delphi tarafına geçilebilir. Sonraki mesajda da onu anlatacağım.
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)
);
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ı');
Sonra şu sorguyu yazalım
Kod: Tümünü seç
select * from Ulke where Yuzolcumu>400000;
Re: Fonksiyon içinde sql sorgusu
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
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
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.
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;
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;
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.