Delphi7'de InterBase DataSet Kullanımı

Delphi 7'de IBDataset Kullanımına basitçe değinip mantığı kapalım..

Öncelikle interbase de bir aşağıdaki gibi bir tablo oluşturalım....


CREATE TABLE "DENEME" 



"IDNO" DOUBLE PRECISION NOT NULL PRIMARY KEY, 

"ADI" VARCHAR(25), 

"SOYADI" VARCHAR(25), 

"TEL" VARCHAR(15) 

);



Yukardaki tablomuzda 1 adet primary keyimiz var. Bu alanı Auto inc alan olarak kullanacağız o yüzden bu alanda otomatik artan sayı yı takip edebilmek için bir tane de generator oluşturalım.

CREATE GENERATOR "AUTOINCDENEME"

Bu işlemleri yaptıktan sonra delphiye geçelim ve Datasetin nasıl kullanıldığına bakalım şimdi...

Önce File-> New Menüsünden bir datamodule oluşturalım. Üzerine bir adet IBDatabase ve bir tane IBTransaction bir tane de IBDataset koyalım. IBDatabase in database bağlantılarını yapalım, Transactiona bağlayalım, transactionu da IBDatabase bağlayalım ve geçelim IBDatasete ve ağaıdakileri sırayla yapalım.

1. Object Inspectordeki SelectSQL özelliğne tıklayarak gelen SQL Text e "SELECT * FROM DENEME" yazalım. (Zaten Table bölümünde tablomuzu görürüz) Bu SQL kodunu yazdıktan sonra OK tuşuna basarak bu pencereyi kapatalım.

2.IbDatasetin üzerine sağ tıklayarak Dataset editore girelim. Bu pencerede "Table Name" bölümünde SelectSQL özelliğine yazdığımız tablomuzun seçilmiş olduğunu, "Key field" ve "Update field"
bölümlerinde ise tablo alanlarımızın olduğunu ve bunların mavi olarak seçilmiş olduğunu görürüz. Şimdi "Get Table field" Butonuna bir kez basarak tablomuzun default alanlarının datasetimize akışını sağlayalım. (Aslında bu yapılmıştır editoru açtığımızda ama bir kez daha yapmanın bir zararı yok.) Data sonra sırayla "Dataset Default" ve "Select Primary Key" butonlarına basalım. "Select Primary key" butonuna bastığımızda Key field'ımızın otomatik olarak seçildiğini göreceksiniz.

3.Şimdi durum şöyle olmalıdır. "Key Field" alanında sadece IDNO seçili, "Update Field" alanında ise bütün fieldlarımız seçili olmalıdır. PEnceremiz bu şekilde ise en altta ki "Generate SQL" butonuna basalım.

4.Şimdi Yukardaki SQL sekmesinden Dataset editorumuzun neler yaptığına bi göz atalım. "Generate SQL" Butonuna bastığımızda Datasetimiz otomatik olarak Update işlemlerinde kullanacağı kendi SQL Text lerini yazdığını görürüz modify,insert, delete,refresh radio butonlarına sırayla basarak neler yaptığını görün. (Şayet tablonuzda bir değişiklik yaparsanız bu işlemleri tekrar yapmalısınız. Yoksa dataset düzgün çalışmayacaktır.) Bu işlemleri yapmadan dataseti kullanmaya kalkarsanız dataset readonly olarak çalışacaktır.

5.Ok tuşu ile bu pencereyi kapatalım ve Object inspector deki Generator field alanının sağındaki ... noktaya tıklayalım. Karşımıza bir pencere açılacaktır. Bu pencerenin en üzerindeki combobox ın okuna tıkladığımızda oluşturduğumuz "AUTOINCDENEME" generatorunun orda oldğunu görceksiniz. Bu generatoru seçelim. filed alanına geçelim.

Bu alan generatorde oluşturulan sayının hangi tablo alanına kaydedileceğinin seçildiği yerdir. Tabiki primary key olarak tasarladığımız IDNO alanını seçmeliyiz. Increment by alanı ise Autoinc sayının kaçar kaçar artırılacağını belirler. Şayet 2 yazarsanız Autoinc alanın 2 şer 2 şer arttığını görürsünüz. Buraya 1 yazalım ve alttaki alana geçelim. Burda 3 tane seçenek var. On NEw recordu seçerseniz Autoinc sayı yeni kayıt için insert işlemi tetiklendiğinde oluşturulacaktır ki bu insert işleminden vazgeçmeniz halinde sayı olduğu gibi kalacak anlamına gelirki her vazgeçme işleminde extra bir artırım anlamına gelir. Bunu kullanmayın bence. On Post u seçin. Çünkü tabloya post komutu gittiğinde generator tetiklenecektir. ve kaydetme anında sayı artırılacağından daha sağlıklı olacaktır. On server ı kullanmanız gereksiz şimdilik.

Ok tuşuna basalım ve penceremizi kapatalım. Datasetimizin active özelliğini true yapalım ve bitirelim. Datasetimiz kullanmaya hazırdır. Normal bir table bileşeni gibi gönül rahatlığı ile kullanabiliriz artık.

Unutmayalım ki, Delphiyi yazanlar IBQuery nesnesiini Sorgulama için, IBTable nesnesini Geriye uyumluluk için, dataset nesnesini ise kaydetme, silme ve güncelleştirme için yazmışlardır. Her componenti yazıldığı şekle uygun kullanırsanız başınızı
ağrıtmayan bir programınız olacaktır.
  • Etiketler;
Ziya Kahraman
Samsun'da doğdu. Üniversite'ye kadar bu şehirde öğrenim gördü. Sonra Atatürk Üniversitesi'nde dil okudu. Türkçe öğretmenliğini bitirdi; ama eğitimci olmadı. Türkçe'yle yoğruldu dört yıl. Bu esnada yazılım dilleri kurcaladı zihnini.. HTML, PHP, ASP, CSS, Pascal.. Hepsinden bir tutam aldı, kokladı bıraktı. <P>Sonra tasarımı keşfetti. PS, AI, C4D derken grafik programlarını öğrenmeye başladı. Grafik programlarını ustalıklı kullanmaya başladı. Ama asıl işin programları öğrenmek olmadığını anlaması da çok geç olmadı. Gözünü eğitmesi gerektiğini fark etti ve tasarım kültürü üzerine kafa yordu. Grafiğin felsefesini özümsemeye çalıştı. Noktaların sadece nokta olmadığını düşünerek başladı asıl tasarlama serüveni. Önceleri yalnızca hayal kurdu, imgelerle boğuştu; zihninde tasarladı çizgileri, renkleri, şekillleri.. Sonra ekrana geçti hayaller ve ardından kağıtlara.. <P>Hâlihazırda grafik tasarımcı olarak çalışıyor. Genellikle katalog, dergi, broşür, kurumsal kimlik, logo ve ambalaj tasarımı yapıyor. Bunlar yanında 3B modelleme ve interaktif tasarım da çalışıyor. Yayınlamayı düşündüğü bir rubai kitabı, tamamlamaya çalıştığı bir şiir, bir de hikâye kitabı bulunuyor.
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git