Anasayfa İletişim RSS
Hakan Nural Derslerini Okumak için Tiklayin Gece görünüşlü gökyüzü yapalım
Bu dersimizde gece görünüşlü gökyüzü yapmayı öğreneceğiz.
 
Şimdi Üye Ol | Şifremi Unuttum
 
 
 
Anasayfa » Delphi (34 ders)
 
Delphi7'de InterBase DataSet Kullanımı

Yazar: Ziya Kahraman  
Eklenme: 22.09.2007   Okunma: 328    Puan: 3   Seviyesi:  Orta
Ö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.
 
  • Currently 3.00/5
Değelendirmek için üye girişi yapmanız gerekmektedir
EkleBunu Sosyal Paylam Butonu
Delphi7'de InterBase DataSet Kullanımı Dersini Yazdırın

"Delphi7'de InterBase DataSet Kullanımı" dersi için 1 yorum var

01.02.2008 solitary diyor ki:
Kayıt işlemlerinde Query kullanabilirsiniz.Hızlı olması açısından.Ancak yaptığınız kayıt-silme-düzenleme işlemleri tek ise yani sadece 1 kayıt için uğraşacaksanız Query yapısındaki gibi size hız kazandırmaz.Ancak toplu olarak değiştirme-silme işlemi yapıyorsanız o zaman çok işinize yarar.

IBDataSet de zaten ekleme-silme-düzenleme için ayrı ayrı SQL bildirimleri vardır.Bu size dışarıdan parametre olarak verebileceğiniz alanlarla SQL kullanarak işlem yapmanıza olanak verir.

ye olmadan yorum ekleyemezsiniz !


UYARI: SANALKURS'ta yer alan materyaller ile ilgili her türlü sorumluluk hazırlayan veya gönderene aittir. SANALKURS'ta yer alan hiçbir makale, yazarından izinsiz başka bir yerde yayınlanamaz. SANALKURS kullanıcıları ve üyeleri, üçüncü kişilerin telif hakkı sahibi bulunduğu her türlü fikri eser, fotoğraf, resim vb. materyal ve ürünleri kullanamazlar. SANALKURS kullanıcı ve yazarlarının, üçüncü kişilerin telif hakkı sahibi olduğu yazı, resim vb. ürünleri kullanması durumunda, her türlü hukuki ve cezai sorumluluk kendilerine aittir. Söz konusu haksız kullanım nedeniyle SANALKURS .NET'in hiçbir hukuki sorumluluğu bulunmamakta olup, haksız kullanım nedeniyle SANALKURS.NET'in üçüncü kişilere ödemek zorunda kalabileceği her türlü tazminat ve/veya adli/idari para cezaları ilgili Sanalkurs kullanıcılarından rücu edilecektir.
 İSTATİSTİKLER
XML Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz
ÇEVRİMİÇİ 78 Ziyaretçi, 1 Üye
noktapsd
BUGÜN DOĞUM GÜNÜ OLAN ÜYELERİMİZ:
_by_danger_ (15), ilicli (19),
Bugün: 542, Dün: 4845, Bu Ay: 15520, Toplam Ziyaret: 1043386, Toplam Üye: 92243, Son Üye: yemzet
Toplam Ders: 1644, Toplam Yazar: 40, Toplam Dosya: 43, Toplam Link: 109
   
RSS Kaynağımızdan yararlanarak sitemizdeki derslerimizi masaüstünüzden yada web sitenizden takip edebilirsiniz