1 / 39

DELPHI de Veritabanı

DELPHI de Veritabanı. Veritabanı Bileşenleri ve Kullanımı. VERİTABANI BİLEŞENLERİ. Bileşen paletinde Data Access ve Data Controls sayfalarında bulunurlar. Genel olarak bir veri tabanına bağlanıp veriler üzerinde insert, update,delete veya belli kayıtların görüntülenmesi için kullanılır.

karah
Download Presentation

DELPHI de Veritabanı

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. DELPHI de Veritabanı Veritabanı Bileşenleri ve Kullanımı

  2. VERİTABANI BİLEŞENLERİ • Bileşen paletinde Data Access ve Data Controls sayfalarında bulunurlar. Genel olarak bir veri tabanına bağlanıp veriler üzerinde insert, update,delete veya belli kayıtların görüntülenmesi için kullanılır.

  3. Delphi 5 için VT bileşenleri

  4. Delphi 5 için VT bileşenleri • Data Access sayfasındaki bileşenler unvisible (yani program çalıştığı zaman ekranda gözükmeyen) bileşenlerdir. Bu bileşenler Data Controls sayfasındaki bileşenler yardımı ile görüntülenecek veriler için veritabanları ile köprü vazifesi görürler.

  5. TTable: • BDE kullanılarak hazırlanmış tablolarda kullanılan bir bileşendir. Bu bileşen sayesinde paradox, dBase, Access… gibi tekli ortamdaki veya interbase, Oracle …, gibi uzak serverlarda ki her kayıda ve her alana direk olarak ulaşabiliriz. Ayrıca dizayn sırasında yaratmak, silmek, güncellemek, isim değiştirmek gibi işlemleri table bağlanarak yapabiliriz

  6. TTABLE Önemli özellikleri • Active : Boolean değer alır. Tablonun açık veya kapalı( bağlı olup olmaması) konumunu belirtir. • Tablo üzerinde bir işlem yapılacaksa mutlak suretle açık yani true olmalıdır. • Asıl kontrolü kod içinden yapılmalıdır. Kullanıcının tablodaki işlemleri bittiğinde bir kez açıp kapamak en doğrusudur.

  7. TTABLE Önemli özellikleri 2 • DataBaseName: Database Name’e BDE içinden tanımladığınız herhangi bir alias’ı, projeniz içindeki Database bileşeninin Database Name’ini (bunlar combobox içinde otomatik olarak gelirler) veya paradox vb. gibi tablolar için tabloların bulunduğu dizinin adını verebilirsiniz. • Kısaca buraya önceden hazırladığımız veritabanının ALIAS ismini vereceğiz

  8. TTABLE Önemli özellikleri 3 • Name : Kod içinde kullancağımız adı buraya yazarız. Tablonun işlevine uygun bir ad vermek her zaman avantajlıdır • TableName: DatabaseName’i seçtikten sonra yapacağımız ilk iş olarak TableName vermektir. Bu alanda DataBaseName’de hazırlamış olduğunuz Tableların isimlerini görmek mümkündür. Buna bağlı olarak hangi table’ı kullanacaksanız o ismi seçmelisiniz.

  9. TTABLE Önemli özellikleri 3

  10. ÖRNEK procedure TForm1.Button1Click(Sender: TObject); begin if table1.Active then begin button1.Caption:='AÇ'; Table1.Active:=false; end else begin button1.Caption:='KAPAT'; Table1.Active:=True; end; end;

  11. TTABLE Önemli özellikleri 4 • TableType : hazırlanmış olan table ın hangi ortamda olduğunu belirtir. Default kalması herzaman iyidir. • MasterFields : Link edilecek başka bir table varsa yani bir veritabanı içinde bağlantılı olan ana tablo ve onun yardımcı tabloları bu özellikten başlayarak ilişkilendirilir. Veri tabanından ana tablo ve ilişkiler önceden ayarlanmalıdır ki bu alanda herhangi bir seçenek çıkabilsin

  12. TTABLE Önemli özellikleri 5 • Mastersource: bağlantı kurulan table’ın hangi alan adı ile ilişkilendirileceği belirlenir. • IndexName: Tabloda indexlenmiş bir alan burada gözükür. Programın ihtiyacına göre bu alan seçilebilir.

  13. Kayıta ulaşmak • Herhangi bir kayıta ulaşmak veya istenilen bir kayıtı bulmak için genel olarak üç çeşit yöntem kullanılır. Bunlar • FindKey() • Locate() • Lookup() • GotoKey() • GotoNearest() • FindNearest() Prosedürleridir.

  14. Findkey • Findkey: index name ve index fields özellikleri belirtilmiş olmalıdır. Bu fonksiyon istenilen kayıt bulunmuşsa True Table1.FindKey([değişken1,değişken2,…]) Buradaki değişken sayısı index fields özelliğinde tanımlanan veya index name ile belirtilen indexin sahip olduğu alan sayısına eşit olmalıdır ve o alanlara karşılık gelen değerler verilmelidir.

  15. Findkey • Örnek: Index Fields=Numara olsun. Bu durumda kod şu şekilde olmalıdır. Table1.FindKey([2500]) ; • Burada indekste belirtilen alanın tipi ile koda yazdığımız tip birbirini tutmalıdır. Eğer IndexFields=Adi;Soyadi şeklinde ise kod Table1.FindKey([‘Ahmet’,’SAVAŞ’]) şeklinde olmalıdır.

  16. FindNearest • FindKeyden farklı olarak yakınsak arama yapmak için kullanılır. • Kulanım biçimi Findkey gibidir.İkiside parametre olarak dizi alırlar. • Bu diziler indexlenmiş alan olmak zorundadır. • Aranacak bilgi tam yazılmasa da olur.

  17. Setkey: • Setkey yordamı field öğesine bir arama yapılacağını belirtir. dsSetKey bölümünü bir veri setini yerleştirmek ve aktif  key bufferinin içeriğini temizlemek için kullanılır. Bu yordam kullanıldıktan sonra field öğesine yazacağınız değer GotoKey GotoNearest  yordamları ile aratılır

  18. GotoKey - GotoNearest • Find yöntemleri ile aynı işi yaparlar. • İndexlenmiş alanlarda kullanılırlar. • Gotokey direk tahmini arar. • Diğeri en yakın tahmini bulur. • table1.GotoKey; • table1.GotoNearest; Şeklinde kullanılırlar.

  19. Locate • FindKey gibi çalışır. Fakat bunda alan isimlerini de kendiniz verirsiniz. • Eğer belirlediğiniz alanlara ait bir index varsa kullanılır, yoksa sıralı arama yapılır. • Diğerlerine nazaran daha fazla kullanılması tavsiye edilir.

  20. Locate Table1.Locate(‘adi;soyadi’,VarArrayof([‘Ahmet’,’SAVAŞ’]),[loCaseInsensitive,loPartialKey]) şeklindedir. loCaseInsensitive: Büyük harf-küçük harf ayrımı yapılmaz. loPartialKey: Bunu kullanırsanız eğer sadece SAVAŞ’ı değilde eğer SAVAŞÇI da varsa onuda bulabilirsiniz.

  21. Lookup • 3 parametre alır. • Hangi sütun üzerinde arama yapılacak. • Sonra alınacak değerler • Arama işlemi olumlu sonuçlandıysa, döndüreceği alan değerleri. • Birden fazla sütun adı varsa araya “;” • Lookup fonksiyonunu bir örnekte kullanın.

  22. STATE • Table’ın durumu için kullanılan bir metottur. İf table1.state in [dsinactive,dsedit,..] • Table durumuna göre işlem yapılmasını sağlar.

  23. TQuery: • Bu bileşende TTable bileşeni ile hemen hemen aynıdır. Fakat bu bileşen ve SQL yardımı ile kayıtlar üzerinde sıralama, sadece belli kayıtları görüntüleme vb. işlemler çok daha rahat yapılabilmektedir. Aynı şeyler TTable bileşenin Filter, Range gibi özellikleri kullanılarak da yapılabilir.

  24. TQuery: • Fakat, performans açısından bakıldığında TQuery’leri kullanmak her zaman faydalıdır. Query’ler normalde Read-Only’dirler, yani kayıtlar üzerinde değişiklik yapamazsınız.

  25. TQuery - RequestLive • Eğer kayıtlar üzerinde değişiklik yapmak istiyorsanız, RequestLive özelliğini True yapmalısınız • Yapılan değişiklikleri table'da olduğu gibi kaydedebilirsiniz. Fakat SQL cümleciğiniz birkaç tablodan veri alıp getiriyorsa o zaman RequestLive özelliğini kullanmazsınız

  26. TQuery - CachedUpdates • Bu şekildeki query’ler üzerinde değişiklik yapabilmeniz için önce CachedUpdates özelliğini True yapmalısınız. (RequestLive:=False) • CachedUpdates özelliği True yapıldığında kayıtlar üzerinde güncelleme, değiştirme ve silme yapabildiğinizi göreceksiniz

  27. TQuery - CachedUpdates form1.Table1.RequestLive:=False form1.Table1.CachedUpdates:=true; form1.Table1.edit;

  28. TUpdateSQL • Fakat bu değişiklikler sadece programda kalır ve fiziksel veritabanını etkilemez. Yaptığımız değişikliklerin kalıcı olması olması için TUpdateSQL bileşenini kullanırız.

  29. TStoredProc: Bu bileşen SQL tabanlı veritabanları üzerinde yazdığınız prosedürleri veya fonksiyonları kullanmanızı sağlayan bir bileşendir. Eğer Oracle, Sysbase, SQL Server gibi veritabanı kullanmıyorsanız bu bileşene ihtiyacınız yok demektir

  30. TStoredProc: • Avantajları temel olarak şunlardır. Bu çalıştıracağınız prosedürler veritabanı üzerindedir. Normal kullandığınız query’lere göre çok daha hızlı çalışırlar. Network trafiğini asgari seviyeye indirirler. Yazacağınız prosedürle ilgili kullandığınız veritabanının dökümatasyonuna bakmalısınız.

  31. TDatabase: Bu bileşeni yönetim kolaylığı sağlamak için kullanılbilir. Mesela A1 diye BDE alias’ınız var. Projedeki bütün herşey hepsi buna bağlı. Bunun ismini değiştirdiğinizde bütün projede gidip aliasları değiştirmeniz gerekir. Bunun yerine TDatabase bileşenini kullanırsanız, sadece bu bileşenin alias’ını değiştirdiğinizde projede buna bağlı ne kadar bileşen varsa hepsini etkileyecektir.

  32. TDatabase:

  33. TDataSource: • Verilerinizin data controls sayfasındaki bileşenler yardımı ile görüntülenmesi için table,query vb. gibi datasetleri mutlaka bir DataSource’a bağlamnız gerekir. • Kısaca Table, Query gibi nesnelerle VT’ye bağlantı kurulur. Vt’deki verileri ekrana basmadan önce datasetleri DataSource’ aktarılmalıdır.

  34. TDataSource:

  35. Kayıtlar - Gezinti • Bildiğimiz gibi tablodaki kayıtlar üzerinde hareketimizi sağlayan dataset metodları vardır. • Prior, Next, First, Last bunlardan bazılarıdır. • Next true değeri aldığında EOF, prior true değeri aldığında ise BOF olacaktır.

  36. Kayıtlar - Gezinti İlk kayıt üzerindeyken bir önceki kayıda gidemeyiz. Çünkü BOF o anda true değerindedir. İlk kayıt üzerinde prior yaptığımızda değerimiz hala ilk kayıtta durur.

  37. Kayıtlar - Gezinti Son kayıt üzerinde bu durum geçerli değildir. Bunun nedeni ise son kayıt üzerinde next yaptığımız taktirde EOF true olsa dahi yeni bir boş kayıt açılır. (Ghost Record) bu yeni bir kayıt girilebilir anlamındadır.

  38. Kayıtlar - Gezinti • Ayrıca Tablelar için post ve cancel methodları bulunur. Bu methodlar kayıt bazında gerçekleşmektedir. Kayıt üzerinde gerçekleşen değişiklikler post metodu ile kayıt edilir cancel metodu ile vazgeçilir. Eğer post veya cancel’ı çağırmadan başka bir kayda gidersek yine post metodunu devreye sokmuş oluruz.

  39. Kayıtlar - Gezinti Bir farklı uygulama ise kayıt girilirken ESC tuşuna basılırsa cancel metodu otomatik olarak devreye girer. Tabloya kayıt eklerken Append veya insert, kayıt silerken ise delete kullanmamız gerekmektedir.

More Related