Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: K_A_R_I_N_C_A Tarih: 30 October 2005 18:24:32
Örnek Program
Bir programda ilk önce yapılacak iş veritabanını(database) ayarlamaktır. Hocamın bana öğrettiği gibi başlamak istiyorum. Ona minnettarım. Teşekkür Ederim Hocam.
Delphi yi bilgisayarınıza kurduğunuzda(Delphi 7 Kurduğumuzu varsayıyorum) veritabanı sürücüleri ile veritabanının yöneticisini de kurar. Bu DATABASE DESKTOP tır. Başlat > Programlar > Borland Delphi 7 > Database Desktop yönergesi ile ulaşabilirsiniz. Programı yazmaya başlamadan ayarlamamız daha iyi olur. tabi istersek sonrada ekleme veya çıkarma yapabiliriz. Bir işletme için müşteri takip programı yazalım. Tablo oluşturarak başlayalım. Bu Tablo Programımızda gireceğimiz kayıtları tuttuğumuz veritabanımız olacak. Bunun için DataBase Desktop ı çalıştırıp File > New > Table komutunu veriyoruz.

Paradox 7 yi seçiyoruz OK tuşuna basıyoruz. Aşağıdaki resim gibi veritabanımızda kullanacağımız alanları oluşturuyoruz.

Field Name : Alan Adı Type : Tip
MusNo N : Number(Numerik)
Adi A : Alpha(Alfabetik)
Soyadi A : Alpha(Alfabetik)
Telefon N : Number(Numerik)
Adres A : Alpha(Alfabetik)
Ve Size, uzunluk.
4. sütun olan "Key" ise kayıtları sıralamada kullanılacak anahtarların gösterildiği sütundur. Biz bu tablo da müşteri numarasını anahtar alan olarak ayarladık.
Bitirmek için Save As.. tuşuna basıyoruz. C sürücüsünün altına Data diye bir klasör açtım ben. ve bu veritabanını oraya kaydetmek istiyorum. Veritabanımın ismini "data" olarak koymak istiyorum. C:\Data\data.db olarak kaydediyorum.
Programımızda kullanacağımız veritabanını hazırlamış bulunuyoruz. Şimdi programımızı hazırlayıp bağlantılarını yapalım.
Delphi ye geçiyoruz. Programı ilk açtığımızda uygulama için hazır form1 isimli pencere önümüzde duruyor zaten. Buraya Component Palet in Stansart Sayfasından 4 adet buton koyalım. Yine aynı sayfadan 5 adet Label(Kullanıcıyı bilgi giriş alanları hakkında bilgilendirmek için kullandığımız ve Bileşen paletinde Standart sayfasında ki "A" harfi ile belirtilen tuştur) yerleştiriyoruz.

Şimdi komponent palet üzerinde Data Controls sayfasına geçiyoruz. 5 adet DBEdit ve 1 tanede DBGrid yerleştiriyoruz.

Şimdide Data Acces sayfasından DataSource bileşeninden yerleştiriyoruz. Son olarak ta BDE sayfasından Query bileşeninden yerleştiriyoruz.
Arkadaşlar kitaplarda böyle bir uygulama için normal edit ve veritabanını bağlamak içinde Table bileşeni kullanılır. Kitap her zaman elinizin altında. Bunları ise çok fazla kimse göstermez. Siz böyle bir uygulama için hem benim gösterdiğim gibi hem de kitaplarda gösterildiği gibi yapın. İlerledikçe bilgiyi elde etmenin her yolu mübahtır sözü ile hangisini kullanmanızın daha kolay veya kullanışlı olacağına karar verirsiniz

Şimdi eğer yönergeleri doğru takip ettiysek aşağıdaki gibi bir görüntü almalıyız. Ben Label lerin ve Butonların Caption özelliği ile görünen isimlerini değiştirdim. Ve sayfa düzenini kafama göre yaptım. Siz de istediğiniz gibi yapın. Aynı şekilde yapmayın. Ezberciliğe de kaçmayın.

Şimdi veritabanımızın bağlantılarını yapalım. Öncelikle

Query bileşenine Veritabanımızın nerede olduğunu gösterelim. Bunun için Object İnspector penceresinde özellikler kısmındaki DatabaseName ine veritabanımızı kaydettiğimiz yeri yazalım. Yani " C:\Data\ " yazalım. Sonra " RequestLive " özelliğini de " true " yapalım.

Sonra da " SQL " özelliğinde (TString) yazısına çift tıklayarak açılan pencereye " Select * From Data.DB " yazalım.
Burada yazdığımız cümle bir SQL cümlesidir.
"Select" i database i seçmek için yazdık.
"*" yıldız işaretini ise Veritabanımızdaki tüm alanları seçmek için yazdık.
"From" u seçeceğimiz veritabanını göstermek için yazdık.
"Data.db" ise C:\Data\ yolu ile belirttiğimiz adresteki Data.db dosyasını belirtmek için kullandık.
Bir programda birden fazla veritabanı olabilir.
DataSource

bileşeninin DataSet özelliğine tıkladığınızda "Query1" yazısını göreceksiniz. DataSet özelliğini Query1 olarak atadıktan sonra DBGrid in DataSource özelliğini de DataSource1 olarak belirliyoruz. Bu işlemden sonra DBGrid in içindeki alanların değiştiğini görmeliyiz. İlk başta veritabanı dosyamızı hazırlarken ki belirttiğimiz alanları göreceğiz. Veritabanımıza eklediğimiz bilgileri orada göreceğiz.
Kod yazmaya geçmeden önce DBEdit lerimizi de veritabanına bağlamalıyız. Bunun içinse, DBEdit lerimizi SHIFT tuşuna basılı olarak seçiyoruz. Ama sadece DBEdit leri seçtiğimizden emin olalım. Object Inspector penceresinde DataSource özelliğini " DataSource1 " olarak belirliyoruz. Sonra dbeditlerimizin üstündeki yazılarına göre teker teker veritabanımızın hangi alanındaki bilgilerini etkileyeceğini belirteceğiz. Bunun içinde yine Object Inspector penceresinden " DataField " özelliğini değiştiriyoruz. Aşağıdaki resimde, Veritabanımızda "MusNo" olarak belirttiğimiz alanı DBEdit1 in DataField seçeneğine işaretliyoruz. Burası biraz karıştı gibi dimi

bir resim koyalım. DBEdit1 in DataSource ve DataField özelliğinin doğru şekli var. Diğerlerini de ona göre ayarlayın.

Dikkat ettiyseniz DBEdit1 in Data... özelliklerini belirlemeden önce içinde diğerleri gibi ismi yazıyordu. Ama şimdi yazmıyor dimi. Data..... özellikleri ayarlanınca o DBEdit in içerisindeki yazı silinir. Bunda bir sakınca yoktur

Şaka tabi. Neyse Devam ediyoruz.
Diğer DBEdit leri de benzer şeklide Data..... özelliklerini ayarlıyoruz. Ve bundan sonra Kod Yazmaya Geçebiliriz.
Önce Ekle tuşumuzu çalıştırmak için yazalım. Yazalım yazalım da ne yazalım? Şimdi Ekle tuşunun üzerinde çift tıklayarak kod düzenleyici sayfasına geçelim. Geçtik mi? Geçtik.
"
Query1.Insert;
Query1.Edit;
DBEdit1.SetFocus;
" yazıyoruz. Bunları ne için yazdığımızı kod yazma işi bitince açıklayacağım.
Kaydet tuşuna çift tıklayarak kod düzenleyici sayfasına geçtiğimiz de
"
Query1.Edit;
Query1.Post;
Button1.SetFocus;
" yazıyoruz.
Sil tuşuna ise
"
Query1.Delete;
Button4.SetFocus;
" yazıyoruz.
Kapat tuşuna ise
"
Close;
" yazıyoruz.

Bunları doğru yazdıysak yandaki gibi bir görüntü almamız lazım.
Kodları yazarken 'Procedure' satırının altında
begin
.........kodlar............
end;
şeklinde olmalıdır ve nesnelerin tanımlamalarında-isimlerinde Delphi kodlamasında kullanılan terimleri yazmamalısınız(Örnek : "String, Integer, Word,....). Yazdıklarımızda gördüğünüz gibi karakterin büyük veya küçük olması sorun değildir ama İngılızce de kullanılan harflerin dişina çıkamazsınız. Yani Türkçe ye özgü karakterleri kullanamıyoruz.
Bu yazdığımız koların açıklamalarına gelince ;
"Query1.Insert;" : Query yani Sorgu bileşeni yardımıyla hazırladığımız veritabanına yeni bir veri girişi için tablo da yer açmasını söylüyoruz.
"Query1.Edit;" : Bununla Insert komutu ile eklemek istediğimiz verileri yazabilelim diye edit(yani düzenleme) anına geçmesini söylüyoruz.
"Query1.Post;" :Bununla ekleyeceğimiz veriyi yazmayı bitirip kaydetmek istediğimizi söylüyoruz.
"Query1.Delete;" : Bununla da silmek istediğimiz bilgiyi silmesi için Query1 bileşeni yardımıyla emrimizi yerine getirmesini söylüyoruz.
".SetFocus;" : DBEdit1, Button1 ve Button4 nesnelerinden sonra koyduğum bu setfocus yazısı ise kullanıcıya program arayüzünü kullanmasında kolaylık sağlamak içindi. Ekle tuşu işini bitirdiğinde kullanıcının numara yazması için gereken alana, kendi, fare ile gelip tıklamasın, ona kolaylık sağlayalım diye DBEdit1.SetFocus yazdık.
"Close;" : Bununla da programı kapatmasını sağladık.
Kod Yazma işini bitirmiş bulunuyoruz. Şimdi F9 tuşuna basalım. İşte Müşteri Takip Programımız hazır. Doğru yaptıysanız aşağıdaki gibi bir görüntü olmalı. Tabi eklenen kayıtlar hariç

Görünümü güzelleştirmek amacıyla bir iki rutuş yapalım. Öncelikle Programımızın sol üst köşesindeki ve Görev Çubuğunda ki ismi Form1 olmasın diyoruz. Bunun için form da boş bir yere tıklıyoruz. Object Inspector de Caption özelliğine uzun olmamak şartıyla Programı açıklayıcı kelimeler yazıyoruz.
Sonra Başlat > Programlar > Borland Delphi7 > İmage Editör ile programımıza bir ikon yapıyoruz. Bu yaptığımız ikonu programımızın ikonu olarak göstermek içinde, Delphi de menülerden Project > Options a tıklıyoruz. Application sekmesinde simge-ikon u görürsünüz. Load Icon tuşuna basarak İmage Editör yardımı ile yaptığımız ikonun yerini gösteriyoruz. Ok tuşuna basıp kaydediyoruz.
Forum, butonlar, DBEditler veya dbgrid in görünümü(Renk, Şekil, Dizilim vb.) nü, Object inspector penceresi ile yaptığınız değişikliklerle de programınızın görünüşünü güzelleştirebiliriz.
Sizin aramaya uğraşacağınız birşeyi göstereyim. DBGrid de Object İnspector > Options ta dgRowSelect ve dgAlwaysShowSelection özelliklerini True yapın.
Arkadaşlar şuan çok küçük bir uygulama bitirmiş bulunuyoruz. Delphi nin genel ve kısa

başlangıcı böyledir veya yakındır. Ben hocam dan böyle öğrendim. Şimdi eğer hala yazılım yapmak istiyorum diyorsanız aşağıdaki yazdıklarımı iyi öğrenin. Bu aşağıdakiler başlangıç aşamasından sonraki aşama için idealdir.
1) Veritipleri
2) Değişkenler
3) Karar Yapıları ve Döngüler
4) ve yukarıda geçen bilmediğiniz terimler...
Bir Sonraki Dersimizde İnşallah Daha büyük bazda bir uygulama geliştireceğiz ve Veritabanımızı da FireBird de düzenleyeceğiz. Herkese Kolay Gelsin.(Son olarak küçük bir NOT. Eğer bilgisayar başında çok duruyorsanız ekran çözünürlüğünü ve MHZ sini ayarlamanızı tavsiye ederim. Göz Sağlığınız çok önemli. 1024*768 den aşağı kullanmanız iyi olur. Ekran da 85 MHZ de çalışsın.)
Bu Dokümanı İndirebilirsiniz. ve yahut
burdan(tek farkı küçük bi önsöz var onda:)) da okuyabilirsiniz
Haydi Kolay Gelsin. Bol Kodlu Günler...
Selamlar...
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: Mikdad Tarih: 09 November 2005 09:54:51
Ellerine sağlık güzel bir örnek
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: bluefire Tarih: 14 December 2005 08:03:28
ellerine sağlık hocam güzel olmuş hatta harika bir anlatım olmuş...devamını bekliyoruz...
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: bote_sevinc Tarih: 20 December 2005 19:15:10
bu program için çok teşekkür ederim.ödevimde çok işime yaradı.yardımlarınızın devamını ve daha yeni program örneklerini merakla bekliyorum. sevgi ve saygılarımla
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: K_A_R_I_N_C_A Tarih: 21 December 2005 18:09:26

Siz sağolun arkadaşlar. Yalnız Şu dikkatimi Çekti:
Herkes Devamını bekliyoruz yazmış. Ben bunu İlk başladığım zaman yazmıştım. Ve o zaman ben bunu yazabildiysem sizde ileri gitmiş birileri olarak bundan daha güzel öğrenmeye dayalı makale yazabilirsiniz.
Yani Bende Sizin yazdıklarınızı bekliyorum

tmm ?
Kolay Gelsin Herkerse

Selamlar...
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: delphi_father Tarih: 30 May 2006 18:58:43
eline sağlık kardeşim çok güzel bir örnek fakat benim isteğim olacak filtereleme mantığınıda bu şekilde bi örnekle anlatırsan çoook sevinirim hayırlı kodlar:)
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: K_A_R_I_N_C_A Tarih: 09 July 2006 13:38:15
Buradan İndirebilirsiniz offline olrak. BAĞLANTIYI YENİLEDİM...
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: Tr_C0D3R Tarih: 21 July 2006 12:59:25
s.a arkadaşlar ben birtürlü yapamıyorum...
hepsini harfi harfine yerine getirdim ama
DBGrid in DataSource özelliğini de DataSource1 olarak belirliyoruz. bunuda yapıyorum
DBGrid de database bilğilerim görünmüyo
yardımcı oalbilirmisiniz
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: FetihlerFatihi Tarih: 21 July 2006 13:01:19
DataSource1'in Dataset özelliğini belirledin mi?
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: Tr_C0D3R Tarih: 21 July 2006 14:04:43
evet belirledin Query1 olarak. ama yine olmuyo
msnden yardım edebilirmisiniz

(
tr_c0d3r@hotmail.com
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: Tr_C0D3R Tarih: 21 July 2006 20:22:26
tamam arkadaşlar ben başka yerden ögrendim
Query yerine table kullandım

Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: K_A_R_I_N_C_A Tarih: 22 July 2006 12:03:10
hocam kaçırdığın bir yerden dolayı yapamamış olabilirsin, neyse
Kolay gelsin
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: Gezgin Tarih: 28 July 2006 17:08:49
Yeni başlayan ve başlayacak olanlar için güzel bir örnek olmuş.Tebrikler
Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: trinnity Tarih: 02 September 2006 22:44:35
mrb öncelikle süper bir örnek olmuş benim gibi acemiler için çok öğretici olmuş sayende baya birşeyler öğrendim çok teşekkür ederim ellerine sağlık ama ben dediklerinin aynısını yaptım ama programı çalıştırdıktan sonra dbgrid e database bilgilerim gelmedi musno adi,soyadi,telefon,adres o bilgiler yazmıyor dbgrid te.ve yine çaliştirdıktan sonra dbedit kutularına hiçbir şey yazamıyorum. butonlara bastığımdada alttaki msj geliyor. yardımcı olursanız sevinirim. eksiklik nerde...(dediklerinizi bütün kodları ve diğer dediklerinizi aynen uyguladım)

Ynt: Delphi İle Veritabanı [Örnek Uygulama (Paradox)] Gönderen: trinnity Tarih: 03 September 2006 00:44:57
tamam dataset i true yapmayı unutmuşum dediğim gibi acemilik işte ve yeni öğrendiğim için hemen farkına varamıyorum sorunun. teşekkürler şimdi çalişiyor tam olarak. ellerinize sağlık sayenizde veritabanı uygulamarına adım atmış olduk