SlideShare a Scribd company logo
1 of 28
Download to read offline
Delphi 7.0. ile VT
Programlama
Hidayet Takçı
htakci@sucati.org
http://htakci.sucati.org
İçerik
   Veritabanı Programlama Nedir?
   Neden Delphi?
   Önce Veritabanını Tanıyalım, Örnek Veritabanı : Kütüphane
   ODBC : Veritabanı ile Uygulamalar Arası Bağlantı (ara katman) ve
    Veritabanımız için ODBC ayarı
   Görsel Programlama ortamı ve Delphi
   Delphi’de Veritabanı Bileşen ve Nesneleri
    ◦ Veritabanı Nesnesi ile Veritabanına Bağlantı
    ◦ Dataset nesnesi ile Veritabanı Nesnesine Bağlantı
    ◦ Datasource nesnesi ile Dataset nesnesine bağlantı
    ◦ Datacontrols nesneleri ile veritabanı üzerinde çalışmaya başlama
 Diğer veritabanı nesneleri (DBEdit, DBMemo, DBCombobox, …)
 Veritabanı Sorgulama
    ◦ Query nesnesi, Query.open ve Query.exec metotları
    ◦ Parametre ile sorgulama
    ◦ Parametresiz sorgulama
Veritabanı Programlama
•   Temel        veritabanı    işlemlerinin
    programlama yetenekleri ile yerine
    getirilmesi.
•   Temel veritabanı işlemleri
    – Kayıt ekleme
    – Kayıt arama
    – Kayıt düzeltme
    – Kayıt silme
    – Kayıt listeleme (sıralı, şarta bağlı, v.s.)
    – Sorgulama
Neden Delphi?
• Delphi, öğrenilmesi en kolay dillerden
  birisi olan pascal üzerine inşa edilmiştir.
• Ticari uygulamalar geliştirmek üzere
  piyasaya sürülmüştür (cobol’un yerine
  geçmiştir)
• Görsel dillerin ve nesneye dayalı dillerin
  bütün özelliklerini taşır.
• Rakiplerinin bugün bile yapamadığının
  uzun yıllar öncesinde başarmıştır
  (tecrübe edince ne demek istediğimi
  anlayacaksınız)
Veritabanları ve Kütüphane
Veritabanı
•   Veritabanları,        dosya          sistemlerinin
    yetersizlikleri nedeniyle geliştirilmiştir.
•   Bugün en sık kullanılan veritabanı sistemleri
    nesne ilişkisel veritabanı sistemleridir.
•   En bilinen masaüstü veritabanı MS Access
    olup, hemen herkesin bilgisayarında bir VT
    uygulaması bulunmaktadır.
•   Çalışmamız boyunca MS Access üzerinde
    oluşturduğumuz        Kütüphane        Veritabanı
    kullanılacaktır.
•   Kütüphane          Veritabanı,          kütüphane
    otomasyonu için gerekli olan veri altyapısını
    sağlamaktadır.
Delphi 7
Kütüphane Veritabanı Şeması
•   YAZAR(YAZARNO, YAZARADI, YAZARTIPI, DNO)
•   KONUBASLIK(KONUBNO, KONUB, DNO)
•   FIRMA(FIRMANO, FIRMAADI)
•   DILLER(DILNO, DILADI)
•   KITAP(DNO, KADI, ORNEKAD, BASIM, YY, YE, YT,
    ISBN, OZET, BOLUMNO, UYENO, FOZELIK, DZ,
    TASNIFNO, FIYAT, FIRMANO, GELISTAR, DILNO,
    ADET)
•   BOLUM(BOLUMNO, BOLUMADI)
•   GRUP(GRUPNO, GRUPADI)
•   UNVAN(UNVANNO, UNVANADI)
•   UYE(UYENO, ADSOYAD, BOLUM, GRUP, UNVAN,
    ADRES, MAIL, TEL, GSM)
•   ODUNC(UYENO, DNO, ALISTAR, IADETAR)
•   IADE(UYENO, DNO, GELISTAR)
Delphi 7
ODBC (Open DataBase
Connectivity)
 ODBC bir ara katman (middleware)
  yazılımıdır. Fiziksel veritabanı ile
  uygulamalar arasında bağlantı sağlar.
 Denetim     Masası (control panel),
  Yönetimsel Araçlar (Administrative
  Tools) içinde bulunur.
 Birçok veritabanı için sürücüler içerir.
 Bütün sistem tarafından bilinen bir veri
  kaynağı adı için System DSN sekmesi
  kullanılır.
Delphi 7
Kütüphane Veritabanını
Erişilebilir Yapalım
    – Öncelikle ODBC açılır.
    – System DSN sekmesine geçilir.
    – Driver do Microsoft Access (*.mdb) kısmı seçilir ve
      Bitir düğmesine tıklanır.
    – Açılan pencerede Data Source Name yazan yere
      tercih edeceğimiz bir takma isim yazılır, örn.
      Kutuphane bir takma isim olabilir.
    – Description kısmı boş geçilebilir.
    – Select düğmesi yardımıyla veritabanının konumu
      verilir.
    – Veritabanına şifre ile erişilecekse Advanced düğmesi
      tıklanarak ayarlar yapılır.
•   Bu işlemlerin ardından artık Delphi dahil her
    yerden (Excel v.s.) kutuphane takma adı ile
    veritabanına erişilebilir.
Delphi 7
Görsel Programlama Ortamı ve
Delphi
• Görsel programlama ortamından anlaşılması
  gereken resim yapar gibi uygulama geliştirme
  kolaylığıdır.
• Uygulamada          kullanılacak     nesneler
  Component Palette isimli sekmelerden
  alınarak Form üzerine yerleştirilir ve gerekli
  parametre ayarları Object Inspector adı
  verilen pencere ile yapılır.
• Object Inspector kendi içinde iki sekmeden
  meydana gelir: Properties ve Events.
  Properties, nesnelerin rengi, boyutu, fontu
  gibi dışsal özelliklerini ayarlamada kullanılır.
  Events ise nesnelere uygulanan olayların
  kontrolünde kullanılır.
BDE Bileşeni Nesneleri




Data Access Bileşeni Nesneleri




Data Controls Bileşeni Nesneleri
Bileşenler ve Nesneler
 Delphi’de her bir bileşen birbiriyle ilişkili
  nesnelerden      oluşur.    Bu   çalışmada
  kullanılacak üç temel bileşen; BDE (Borland
  Database Engine), Data Access (Veri
  erişim), Data Controls (Veri kontrolleri)
  bileşenleridir.
 Bu bileşenleri bütün nesneleri yerine
  bazıları kullanılacaktır, grup şeklinde
  vermek gerekirse:
    ◦ BDE : Database, Table ve Query
    ◦ Data Access : Datasource
    ◦ Data Controls : DBGrid, DBNavigator, DBText,
      DBEdit, DBMemo, DBListbox, DBCombobox,
      DBCheckbox
Database Nesnesi ile Bağlantı
    ◦ BDE sekmesinden Database nesnesi form üzerine alınır.
    ◦ Nesne çift tıklanarak database diyalog penceresi açılır.
    ◦ Alias Name kısmından daha önce ayarladığımız kutuphane
      seçilir.
    ◦ Name kutusuna yeni bir isim eklenir örn. Kitap
    ◦ Defaults     butonu    tıklanır.    ODBC   DSN=kutuphane
      haricindeki diğer kısımlar silinir.
    ◦ Options kısmında yer alan Login prompt alanındaki check
      kaldırılır.
   Artık Delphi için adı Kitap olan bir Veritabanı
    kullanıma hazırdır.
Delphi 7
Table Nesnesi ile VT’na
Bağlantı
    ◦ BDE sekmesinden Table nesnesi form üzerine
      alınır
    ◦ Object Inspector yardımıyla;
      DatabaseName değeri Kitap (az önce tanımladığımız
       ad),
      TableName değeri KITAP (tablonun adı)
      Active değeri True yapılır
   Artık Table nesnesi sayesinde
    veritabanındaki KITAP tablosu kullanılabilir
    hale gelmiştir.
DataSource Nesnesinin
Kullanımı
   Datasource nesnesi; Table nesnesi içinde
    yer alan verinin Data Controls nesneleri
    tarafından   kullanılabilmesini sağlayan
    aracıdır.
    ◦ Data Access sekmesinden DataSource nesnesi
      form üzerine alınır.
    ◦ DataSource nesnesinin DataSet özelliği Table1
      olarak ayarlanır.
    ◦ İstenirse DataSource nesnesine isim verilebilir.
   Bu işlemlerin ardından artık KITAP tablosu
    değerleri üzerinde çalışabilir hale gelmiştir.
Data Controls nesneleri ile
çalışma
    ◦ DataControls sekmesinden bir DBNavigator ve
      bir DBGrid form üzerine alınır.
    ◦ Önce DBNavigator nesnesinin,
    ◦ Daha sonra DBGrid nesnesinin,
      DataSource değeri DataSource1 olarak set edilir.
   Bu işlemin ardından, KITAP tablosu
    üzerinde; navigasyon işlemleri, veri ekleme,
    veri silme dahil olmak üzere bütün işlemler
    yapılabilir. DBNavigator üzerinde yapılan
    işlemler DBGrid üzerinde izlenebilecektir.
DBEdit, DBText, DBCombobox v.s. ile
çalışma
  ◦ Data Controls sekmesinden DBEdit ve
    DBText kontrolü forma alınır.
    Datasource:=Datasource1;
    Datafield:=KADI; (nitelik adı)
  ◦ İki kontrol için de tanımlama aynıdır fakat
    görünüm ve işlev bakımından farklılık
    vardır.
  ◦ Diğer kontrollerde de yöntem aynı
    olacaktır,
Veritabanı Sorgulama
 Delphi ile veritabanına erişmek ve onu
  çeşitli şekillerde, esnekçe kullanmak
  mümkündür.
 Bu iş için Delphi tarafından sunulan
  nesne Query nesnesidir.
 Query nesnesini kullanırken;
    ◦ Sabit bir SQL ifadesi girebiliriz,
    ◦ Parametrik bir ifade girebiliriz,
    ◦ Dinamik olarak oluşturulmuş          bir   text
      girebiliriz.
Sabit SQL ifadesi
 ◦ BDE sekmesinden bir Query nesnesi (Query1),
 ◦ Data Access sekmesinden bir DataSource
   nesnesi (DataSource1),
 ◦ Data Controls sekmesinden bir DBGrid nesnesi
   (DBGrid1) form üzerine alınır.
     Query1.DatabaseName:=Kitap;
     Query1.SQL.Add(‘Select * From KITAP’);
     DataSource1.Dataset:=Query1;
     DBGrid1.DataSource:=DataSource1; yapılır.
 ◦ Bu ayarlamaların ardından Query1.open ile
   sorgu sonucu alınır ve sonuç DBGrid içinde
   görülür.
Parametrik SQL İfadesi
 ◦ Öncelikle Query nesnesinin SQL satırı aşağıdaki gibi
   yazılır;
    Select * from KITAP where Kitap_ad like :kitapismi
    ‘:’ işareti arkadan bir parametre geldiğini ifade eder
    Parametre adı kitapismi ve indisi 0’dır (ilk parametre)
 ◦ Query1.params[0].Datatype:=ftString; yapılır
    Parametrenin veri tipi önemlidir.
 ◦ Ardından program ara yüzü ile parametrik SQL ifadesine
   parametre girilir.
    Edit1.text:=‘Bilgisayar’ olsun
 ◦ Bir buton yardımıyla editbox içindeki değeri sorguya girelim
   ve sonucu alalım.
 ◦ Kimi zaman, joker karakterleri kullanmak gerekebilir, bunu
   editbox içerisine doğrudan joker karakterleri girerek
   yapabiliriz veya program içerisinde bunu yapabiliriz.
Parametrik SQL İfadesi
   Sorgunun işlenebilmesi için gerekli kod
    satırı şöyledir:
    ◦   Query1.close;
    ◦   Query1.prepare;
    ◦   Query1.params[0].asstring:=edit1.text;
    ◦   Query1.open;
   Önce,       query      kapatılır, arkasından
    parametre için hazır hale getirilir ve en
    sonunda parametrenin uygun tipte olması
    garanti altına alınır.
Parametrik Olmayan SQL
İfadesi
   Parametre ayarlamak zor gelebilir bazen, o
    zaman şunları yapacağız:
    ◦ Yine bir Query nesnesi, DataSource ve Edit
      nesnesi alacağız.
    ◦ Query nesnesi içerisinde hiçbir SQL ifadesi
      olmayacak varsa bile;
      Query1.SQL.Delete; ile sileceğiz.
    ◦ Arkasından; bir STR stringi içerisinde öncelikle
      SQL ifadesini meydana getirecek ve bunun
      Query nesnesi içine yerleştireceğiz.
Parametrik Olmayan SQL
İfadesi
 ◦ var
   STR:string;
 ◦ begin
   STR:=‘’;
   STR:=‘Select * from KITAP where Kitap_ad
    like’+’ ’’ ’+edit1.text+’ ’’ ’;
   Query1.SQL.add(STR);
   Query1.open;
 ◦ end;
Dersin Sonu
Bu dersin sonunda sadece Delphi ile VT
    programlamanın sadece kıyısına
  gelebildik. Gerisi sizin gayretlerinize
                  bağlı.

             Hidayet Takçı
           htakci@gmail.com

         Başarılar diliyorum…

More Related Content

Similar to Delphi 7

Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data AnalyticsMudur Alkan
 
İleri Seviye T-SQL Programlama - Chapter 08
İleri Seviye T-SQL Programlama - Chapter 08İleri Seviye T-SQL Programlama - Chapter 08
İleri Seviye T-SQL Programlama - Chapter 08Cihan Özhan
 
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008mtcakmak
 
Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012Sevdanur Genc
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21Cihan Özhan
 
AnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkara JUG
 
İleri Seviye Programlama 2
İleri Seviye Programlama 2İleri Seviye Programlama 2
İleri Seviye Programlama 2Caner Bovatekin
 
Sql egitim-cd-si
Sql egitim-cd-siSql egitim-cd-si
Sql egitim-cd-sisersld61
 
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02Önder Değer
 
Pig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziPig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziHakan Ilter
 
Veri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkVeri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkHakan Sarıbıyık
 
Sql en-iyi-kursu
Sql en-iyi-kursuSql en-iyi-kursu
Sql en-iyi-kursusersld61
 
SQL-ETL-Raporlama
SQL-ETL-RaporlamaSQL-ETL-Raporlama
SQL-ETL-RaporlamaDeniz Alkan
 
Sql egitimi-adana
Sql egitimi-adanaSql egitimi-adana
Sql egitimi-adanasersld61
 

Similar to Delphi 7 (20)

sunu (Asp.net 2
sunu (Asp.net 2sunu (Asp.net 2
sunu (Asp.net 2
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
 
İleri Seviye T-SQL Programlama - Chapter 08
İleri Seviye T-SQL Programlama - Chapter 08İleri Seviye T-SQL Programlama - Chapter 08
İleri Seviye T-SQL Programlama - Chapter 08
 
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008Kurumsal Yazılım Geliştirme ve Visual Studio 2008
Kurumsal Yazılım Geliştirme ve Visual Studio 2008
 
Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012
 
MongoDB Overview
MongoDB OverviewMongoDB Overview
MongoDB Overview
 
Hayrettin kunuk
Hayrettin kunukHayrettin kunuk
Hayrettin kunuk
 
Sql Server 2.hafta
Sql Server 2.haftaSql Server 2.hafta
Sql Server 2.hafta
 
İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21İleri Seviye T-SQL Programlama - Chapter 21
İleri Seviye T-SQL Programlama - Chapter 21
 
AnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big DataAnkaraJUG Haziran 2013 - No SQL / Big Data
AnkaraJUG Haziran 2013 - No SQL / Big Data
 
İleri Seviye Programlama 2
İleri Seviye Programlama 2İleri Seviye Programlama 2
İleri Seviye Programlama 2
 
Sql egitim-cd-si
Sql egitim-cd-siSql egitim-cd-si
Sql egitim-cd-si
 
yazılımmuh10.pptx
yazılımmuh10.pptxyazılımmuh10.pptx
yazılımmuh10.pptx
 
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
BTRisk X86 Tersine Mühendislik Eğitim Sunumu - Bölüm-1
 
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
DP:900 Azure Data Fundamentals - Azure'da ilişkisel veriler-02
 
Pig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri AnaliziPig ve Hive ile Hadoop üzerinde Veri Analizi
Pig ve Hive ile Hadoop üzerinde Veri Analizi
 
Veri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan SarıbıyıkVeri işleme üzerine, Hakan Sarıbıyık
Veri işleme üzerine, Hakan Sarıbıyık
 
Sql en-iyi-kursu
Sql en-iyi-kursuSql en-iyi-kursu
Sql en-iyi-kursu
 
SQL-ETL-Raporlama
SQL-ETL-RaporlamaSQL-ETL-Raporlama
SQL-ETL-Raporlama
 
Sql egitimi-adana
Sql egitimi-adanaSql egitimi-adana
Sql egitimi-adana
 

Delphi 7

  • 1. Delphi 7.0. ile VT Programlama Hidayet Takçı htakci@sucati.org http://htakci.sucati.org
  • 2. İçerik  Veritabanı Programlama Nedir?  Neden Delphi?  Önce Veritabanını Tanıyalım, Örnek Veritabanı : Kütüphane  ODBC : Veritabanı ile Uygulamalar Arası Bağlantı (ara katman) ve Veritabanımız için ODBC ayarı  Görsel Programlama ortamı ve Delphi  Delphi’de Veritabanı Bileşen ve Nesneleri ◦ Veritabanı Nesnesi ile Veritabanına Bağlantı ◦ Dataset nesnesi ile Veritabanı Nesnesine Bağlantı ◦ Datasource nesnesi ile Dataset nesnesine bağlantı ◦ Datacontrols nesneleri ile veritabanı üzerinde çalışmaya başlama  Diğer veritabanı nesneleri (DBEdit, DBMemo, DBCombobox, …)  Veritabanı Sorgulama ◦ Query nesnesi, Query.open ve Query.exec metotları ◦ Parametre ile sorgulama ◦ Parametresiz sorgulama
  • 3. Veritabanı Programlama • Temel veritabanı işlemlerinin programlama yetenekleri ile yerine getirilmesi. • Temel veritabanı işlemleri – Kayıt ekleme – Kayıt arama – Kayıt düzeltme – Kayıt silme – Kayıt listeleme (sıralı, şarta bağlı, v.s.) – Sorgulama
  • 4. Neden Delphi? • Delphi, öğrenilmesi en kolay dillerden birisi olan pascal üzerine inşa edilmiştir. • Ticari uygulamalar geliştirmek üzere piyasaya sürülmüştür (cobol’un yerine geçmiştir) • Görsel dillerin ve nesneye dayalı dillerin bütün özelliklerini taşır. • Rakiplerinin bugün bile yapamadığının uzun yıllar öncesinde başarmıştır (tecrübe edince ne demek istediğimi anlayacaksınız)
  • 5. Veritabanları ve Kütüphane Veritabanı • Veritabanları, dosya sistemlerinin yetersizlikleri nedeniyle geliştirilmiştir. • Bugün en sık kullanılan veritabanı sistemleri nesne ilişkisel veritabanı sistemleridir. • En bilinen masaüstü veritabanı MS Access olup, hemen herkesin bilgisayarında bir VT uygulaması bulunmaktadır. • Çalışmamız boyunca MS Access üzerinde oluşturduğumuz Kütüphane Veritabanı kullanılacaktır. • Kütüphane Veritabanı, kütüphane otomasyonu için gerekli olan veri altyapısını sağlamaktadır.
  • 7. Kütüphane Veritabanı Şeması • YAZAR(YAZARNO, YAZARADI, YAZARTIPI, DNO) • KONUBASLIK(KONUBNO, KONUB, DNO) • FIRMA(FIRMANO, FIRMAADI) • DILLER(DILNO, DILADI) • KITAP(DNO, KADI, ORNEKAD, BASIM, YY, YE, YT, ISBN, OZET, BOLUMNO, UYENO, FOZELIK, DZ, TASNIFNO, FIYAT, FIRMANO, GELISTAR, DILNO, ADET) • BOLUM(BOLUMNO, BOLUMADI) • GRUP(GRUPNO, GRUPADI) • UNVAN(UNVANNO, UNVANADI) • UYE(UYENO, ADSOYAD, BOLUM, GRUP, UNVAN, ADRES, MAIL, TEL, GSM) • ODUNC(UYENO, DNO, ALISTAR, IADETAR) • IADE(UYENO, DNO, GELISTAR)
  • 9. ODBC (Open DataBase Connectivity)  ODBC bir ara katman (middleware) yazılımıdır. Fiziksel veritabanı ile uygulamalar arasında bağlantı sağlar.  Denetim Masası (control panel), Yönetimsel Araçlar (Administrative Tools) içinde bulunur.  Birçok veritabanı için sürücüler içerir.  Bütün sistem tarafından bilinen bir veri kaynağı adı için System DSN sekmesi kullanılır.
  • 11. Kütüphane Veritabanını Erişilebilir Yapalım – Öncelikle ODBC açılır. – System DSN sekmesine geçilir. – Driver do Microsoft Access (*.mdb) kısmı seçilir ve Bitir düğmesine tıklanır. – Açılan pencerede Data Source Name yazan yere tercih edeceğimiz bir takma isim yazılır, örn. Kutuphane bir takma isim olabilir. – Description kısmı boş geçilebilir. – Select düğmesi yardımıyla veritabanının konumu verilir. – Veritabanına şifre ile erişilecekse Advanced düğmesi tıklanarak ayarlar yapılır. • Bu işlemlerin ardından artık Delphi dahil her yerden (Excel v.s.) kutuphane takma adı ile veritabanına erişilebilir.
  • 13. Görsel Programlama Ortamı ve Delphi • Görsel programlama ortamından anlaşılması gereken resim yapar gibi uygulama geliştirme kolaylığıdır. • Uygulamada kullanılacak nesneler Component Palette isimli sekmelerden alınarak Form üzerine yerleştirilir ve gerekli parametre ayarları Object Inspector adı verilen pencere ile yapılır. • Object Inspector kendi içinde iki sekmeden meydana gelir: Properties ve Events. Properties, nesnelerin rengi, boyutu, fontu gibi dışsal özelliklerini ayarlamada kullanılır. Events ise nesnelere uygulanan olayların kontrolünde kullanılır.
  • 14. BDE Bileşeni Nesneleri Data Access Bileşeni Nesneleri Data Controls Bileşeni Nesneleri
  • 15. Bileşenler ve Nesneler  Delphi’de her bir bileşen birbiriyle ilişkili nesnelerden oluşur. Bu çalışmada kullanılacak üç temel bileşen; BDE (Borland Database Engine), Data Access (Veri erişim), Data Controls (Veri kontrolleri) bileşenleridir.  Bu bileşenleri bütün nesneleri yerine bazıları kullanılacaktır, grup şeklinde vermek gerekirse: ◦ BDE : Database, Table ve Query ◦ Data Access : Datasource ◦ Data Controls : DBGrid, DBNavigator, DBText, DBEdit, DBMemo, DBListbox, DBCombobox, DBCheckbox
  • 16. Database Nesnesi ile Bağlantı ◦ BDE sekmesinden Database nesnesi form üzerine alınır. ◦ Nesne çift tıklanarak database diyalog penceresi açılır. ◦ Alias Name kısmından daha önce ayarladığımız kutuphane seçilir. ◦ Name kutusuna yeni bir isim eklenir örn. Kitap ◦ Defaults butonu tıklanır. ODBC DSN=kutuphane haricindeki diğer kısımlar silinir. ◦ Options kısmında yer alan Login prompt alanındaki check kaldırılır.  Artık Delphi için adı Kitap olan bir Veritabanı kullanıma hazırdır.
  • 18. Table Nesnesi ile VT’na Bağlantı ◦ BDE sekmesinden Table nesnesi form üzerine alınır ◦ Object Inspector yardımıyla;  DatabaseName değeri Kitap (az önce tanımladığımız ad),  TableName değeri KITAP (tablonun adı)  Active değeri True yapılır  Artık Table nesnesi sayesinde veritabanındaki KITAP tablosu kullanılabilir hale gelmiştir.
  • 19. DataSource Nesnesinin Kullanımı  Datasource nesnesi; Table nesnesi içinde yer alan verinin Data Controls nesneleri tarafından kullanılabilmesini sağlayan aracıdır. ◦ Data Access sekmesinden DataSource nesnesi form üzerine alınır. ◦ DataSource nesnesinin DataSet özelliği Table1 olarak ayarlanır. ◦ İstenirse DataSource nesnesine isim verilebilir.  Bu işlemlerin ardından artık KITAP tablosu değerleri üzerinde çalışabilir hale gelmiştir.
  • 20. Data Controls nesneleri ile çalışma ◦ DataControls sekmesinden bir DBNavigator ve bir DBGrid form üzerine alınır. ◦ Önce DBNavigator nesnesinin, ◦ Daha sonra DBGrid nesnesinin,  DataSource değeri DataSource1 olarak set edilir.  Bu işlemin ardından, KITAP tablosu üzerinde; navigasyon işlemleri, veri ekleme, veri silme dahil olmak üzere bütün işlemler yapılabilir. DBNavigator üzerinde yapılan işlemler DBGrid üzerinde izlenebilecektir.
  • 21. DBEdit, DBText, DBCombobox v.s. ile çalışma ◦ Data Controls sekmesinden DBEdit ve DBText kontrolü forma alınır.  Datasource:=Datasource1;  Datafield:=KADI; (nitelik adı) ◦ İki kontrol için de tanımlama aynıdır fakat görünüm ve işlev bakımından farklılık vardır. ◦ Diğer kontrollerde de yöntem aynı olacaktır,
  • 22. Veritabanı Sorgulama  Delphi ile veritabanına erişmek ve onu çeşitli şekillerde, esnekçe kullanmak mümkündür.  Bu iş için Delphi tarafından sunulan nesne Query nesnesidir.  Query nesnesini kullanırken; ◦ Sabit bir SQL ifadesi girebiliriz, ◦ Parametrik bir ifade girebiliriz, ◦ Dinamik olarak oluşturulmuş bir text girebiliriz.
  • 23. Sabit SQL ifadesi ◦ BDE sekmesinden bir Query nesnesi (Query1), ◦ Data Access sekmesinden bir DataSource nesnesi (DataSource1), ◦ Data Controls sekmesinden bir DBGrid nesnesi (DBGrid1) form üzerine alınır.  Query1.DatabaseName:=Kitap;  Query1.SQL.Add(‘Select * From KITAP’);  DataSource1.Dataset:=Query1;  DBGrid1.DataSource:=DataSource1; yapılır. ◦ Bu ayarlamaların ardından Query1.open ile sorgu sonucu alınır ve sonuç DBGrid içinde görülür.
  • 24. Parametrik SQL İfadesi ◦ Öncelikle Query nesnesinin SQL satırı aşağıdaki gibi yazılır;  Select * from KITAP where Kitap_ad like :kitapismi  ‘:’ işareti arkadan bir parametre geldiğini ifade eder  Parametre adı kitapismi ve indisi 0’dır (ilk parametre) ◦ Query1.params[0].Datatype:=ftString; yapılır  Parametrenin veri tipi önemlidir. ◦ Ardından program ara yüzü ile parametrik SQL ifadesine parametre girilir.  Edit1.text:=‘Bilgisayar’ olsun ◦ Bir buton yardımıyla editbox içindeki değeri sorguya girelim ve sonucu alalım. ◦ Kimi zaman, joker karakterleri kullanmak gerekebilir, bunu editbox içerisine doğrudan joker karakterleri girerek yapabiliriz veya program içerisinde bunu yapabiliriz.
  • 25. Parametrik SQL İfadesi  Sorgunun işlenebilmesi için gerekli kod satırı şöyledir: ◦ Query1.close; ◦ Query1.prepare; ◦ Query1.params[0].asstring:=edit1.text; ◦ Query1.open;  Önce, query kapatılır, arkasından parametre için hazır hale getirilir ve en sonunda parametrenin uygun tipte olması garanti altına alınır.
  • 26. Parametrik Olmayan SQL İfadesi  Parametre ayarlamak zor gelebilir bazen, o zaman şunları yapacağız: ◦ Yine bir Query nesnesi, DataSource ve Edit nesnesi alacağız. ◦ Query nesnesi içerisinde hiçbir SQL ifadesi olmayacak varsa bile;  Query1.SQL.Delete; ile sileceğiz. ◦ Arkasından; bir STR stringi içerisinde öncelikle SQL ifadesini meydana getirecek ve bunun Query nesnesi içine yerleştireceğiz.
  • 27. Parametrik Olmayan SQL İfadesi ◦ var  STR:string; ◦ begin  STR:=‘’;  STR:=‘Select * from KITAP where Kitap_ad like’+’ ’’ ’+edit1.text+’ ’’ ’;  Query1.SQL.add(STR);  Query1.open; ◦ end;
  • 28. Dersin Sonu Bu dersin sonunda sadece Delphi ile VT programlamanın sadece kıyısına gelebildik. Gerisi sizin gayretlerinize bağlı. Hidayet Takçı htakci@gmail.com Başarılar diliyorum…