MySQL, Delphi ve Zeos Bileşenleri

Delphi MySQL, Delphi ve Zeos Bileşenleri Programlama Dilleri hakkında bilgi paylaş; MySQL, Delphi ve Zeos Bileşenleri Bir kaç yıl evveline kadar ağ uygulamalarında SQL-Server, ORACLE, Interbase baş...
Cevapla
WebMasTer SiTeSi
 
Seçenekler
  #1  
Arama 21-11-2007, 10:07
kadınca
Guest
Mesajlar: n/a
 
     WS-Ticareti: ()

MySQL, Delphi ve Zeos Bileşenleri

MySQL, Delphi ve Zeos Bileşenleri

Bir kaç yıl evveline kadar ağ uygulamalarında SQL-Server, ORACLE, Interbase başlıca olmak üzere bildik veri tabanlarını kullanırdım. Bugünse bir web tasarımı işinde tanışıp kaynaştığım MySQL benim için ister ağ, ister web isterse lokal uygulamalarda olsun kullandığım vazgeçilmez bir standart oldu. Belki tüm teferruatı
ile MySQL'e hakim olmamı gerektiren bir zorunluluk olmadığından, yada MySQL buna fırsat vermeden benim tüm teferruatıma hakim olduğundan şimdi hangi projeye elimi atsam tek favorim MySQL.

Tabi benim gibi yazılımcıyım diye geçinip birden fazla dillede haşır neşir olmak durumundaysanız MySQL ile ilgili güncel bilgileride takip etmek zorundasınız.

Bu makalade MySQL veri tabanlarının Delphinin tüm sürümleri için nasıl kullanılabileceğini basitçe anlatacak ve bize delphi ortamında MySQL kullanımını kolaylaştıran Zeos bileşenlerinin bazılarından bahsedeceğim. MySQL ile uygulama geliştimek için Zeos bileşenleriyle sınırlı değilsiniz. Alternatifler bu makalenin dışında yer almaktadır.

Zeos MySQL Bileşenleri

Öncelikle veya
adresinden ücretsiz edinebileceğiniz Zeos bileşenlerini indirmenizi ve her daim elinizin altında bulundurmanızı öneririm.

İnternetten indirdiğimiz ve bir klasör altında topladığımız bileşenleri delphi ortamına yüklemek için sırasıyla aşağıdaki işlemleri yapıyoruz.
Bileşenlerle birlikte gelen ve lib klasörü altında bulanan DLL dosyalarını windows sistem klasörü altına kopyalın.Bütün DLL dosyaları olmasa bile en azından kullandığınız MySQL sürümüne bağlı olanları kopyalamalısnız. Örneğin benim sistemimde hem MySQL 4.1.10a-nt hemde MySQL 5.0 sürümü olduğundan libmysql41.DLL dosyası system32 klasörümde kopyalanmış durumda.
Kullandığınız delphi versiyonuna uygun klasör altına yerleştirilmiş package dosyalarını bulun.
Delphi bileşen yükleme diyalog penceresine gelerek veya ZeosDbo.bpg dosyasını çift tıklayarak aşağıdaki dosyaları yazıldığı sırada derleyin.
ZCore.bpl
ZParseSql.bpl
ZPlain.bpl
ZDbc.bpl
Derleme işlemi sonunda herhangi bir hata almanız durumuda delphi Source Search seçeneklerini ayarlayıp tekrar deneyin. Normalde hiç bir hata iletisiyle karşılaşmamanız gerekir. Bileşen yükleme ekranında Install seçeneğiyle derlenmiş bileşenleri VCL'ye kaydettirin.
Doğru yükleme işlemi sonunda VCL bileşen paletinize Zeos Access sekmesi oluşturulmuş ve ilgili bileşenler bu sekmeye yerleştirilmiş olarak görünmelidir.
MySQL Veri Tabanıyla Basit Bir Örnek Uygulama Tasarımı

Öncelikle pratik kazanmak amacıyla uygulamızda kullanmak üzere Ornek isimli veri tabanı ve kodlar isimli tek bir tablo tasarlayalım. kodlar tablosunun yapısı aşağıdaki gibi olsun.


Kodlar :
CREATE TABLE kodlar (
id bigint(20) unsigned NOT NULL auto_increment,
kod blob,
tarih date default NULL,
PRIMARY KEY (id),
UNIQUE KEY id (id),
KEY id_2 (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin5;

Delphide yeni bir proje başlatalım. Proje ana formu üzerine aşağıdaki Zeos bileşenlerini koyarak kullanacağımız bileşenleri projemize dahil edelim.

TZConnection bileşeni
TZQuery bileşeni
TDataSource
TDBGrid
MySQL Ornek veri tabanına bağlantı için kullanacağımız TZConnection nesnesinin aşağıdaki özelliklerini anlatıldığı biçimde Object Inspector üzerinde değiştirelim.

AutoCommit : True
Catalog : Ornek
Connected : False
DataBase : Ornek
HostName : localhost
LoginPrompt : false
Password : MySql root kullancısının şifresi
Port : 3306
Protocol : mysql-4.1 - 4.1 ve üstü Mysql versiyonları için
User : root
ReadOnly : false

TZConnection nesnesi için bazı özellikleri irdeleyelim.

AutoCommit : Veriler üzerinde yapılan ekleme ve düzeltme işlemlerinin veri tabanına otomatik post edilip edilmeyeceği

Catalog : Kullanılacak veri tabanı katalog ismi
Connected : Bağlantı kur - Bağlantıyı kes
DataBase : Veri tabanı ismi
HostName : Veri tabanı servisinin çalıştığı bilgisayar.(IP adresi)
LoginPrompt : Oturum açma işleminde kullanıcıdan şifre girmesi istenecekmi
Password : Oturum açma işleminde kullanılacak şifre
Port : MySQL srvisinin haberleşme port adresi. Varsayılan 3306'dır.
Protocol : Connection nesnesinin kullanacağı veri tabanı prokolünün adı
User : Oturum açmak için kullanıcı adı
Readonly : Veri tabanı salt okunur moddamı çalışacak

Bir sorgu kümesi elde etmek için kullanacağımız TZQuery bieleşenin özelliklerini Object Inspector üzerinde aşağıdaki gibi ayarlalım.

Connection : ZConnection1
ReadOnly : False
SQL : Select * from kodlar

Yukarıda anlatılan özellikleri ayarlamakla Veri tabanımızı ve kodlar adlı tablomuzu kullanmak için ayarlamış olduk. Forma yerleştirdiğiniz DataSource bileşenin DataSet özelliğine ZQuery1 değerini verip, Dbgrid nesnesinin DataSource özelliğinede DataSource1 olarak ayarladığınızda veri tablo üzerinde yerel ve diğer tablolarla yaptığımız her tür işlemi yapabiliriz. TZQuery bileşenin active özelliğini true yaptığınızda tasarım kipinde verilen dbgrid içinde listelendiğini görürsünüz.

Önemli hatırlatma : SQL Hizmet birimi veri tabanları uzak bilgisayar üzerinde konuşlu olacaklarından DbGrid benzeri bileşenlerle kayıtların listelenmesi tavsiye edilen bir tutum değildir.

ZQuery bileşenin diğer özellik ve yöntemleri standart TQuery bileşeni ile aynıdır. VCL paletinde Zeos Access sekmesine ZQuery'den başka birde TZReadOnlyQuery bileşeni yerleştirilir. Adından anlaşılacağı üzere salt okunur modda sorgulama işlemleri yapmak ve performansı artırmak için tasarlanmıştır. Bir başka Zeos bileşeni olan TZTable bileşenide TTable ile aynı işi yapmak üzere tasarlanmıştır.

Makaleyi Çalışma anında bir TZReadOnlyQuery bileşeni oluşturup kullanan bir yöntemi yazarak bitirmek istiyorum.
//* ID.si verilen kaydın Kategori ve UstID'sini bul *//
Procedure TForm_Banka_Verisi_Ekle.GetKategoriIsmi(Const ID : Integer;Out UstID:Integer;Out KategoriIsmitring);
Var
Q : TZReadOnlyQuery;
begin
try
Q := TZReadOnlyQuery.Create(Self);
Q.Connection := dm.ZConnection1;
Q.Sql.Add('Select id,ust_id,kategori from kategoriler where id ='+#39+IntToStr(ID)+#39);
Q.Open;
if Not Q.Eof then
begin
UstID := Q.Fields[1].AsInteger;
KategoriIsmi := Q.Fields[2].AsString;
end;
finally
Q.Close;
Q.Free;
end;
end;//* GetKategoriIsmi *//

Zeos bileşenlerinin bu makalede kapsamında anlatılmayan özellik ve yöntemleri ile MySQL ile ilgili bilgilerinizi ve ipuçlarını bizimle paylaşmanız dileğiyle hepinize çalışmalarınızda başarılar dilerim.
Alıntı ile Cevapla
Cevapla
Arama Etiketleri: , , ,



Seçenekler


Benzer Konular
Konu Konu Açanlar Forum Cevaplar Güncel Mesajlar
mYSQL5+ZEOS Komponentinde Türkçe Karakter Sorunu ! Celebrian Delphi 0 24-12-2007 02:29
Delphi ile MYSQL Server a Bağlanma ve işlem yapma Celebrian Delphi 0 24-12-2007 01:34
Delphi ve Meşhur Mysql Aracı Zeos a Giriş Celebrian Delphi 0 24-12-2007 01:28
MySQL Dumper İle MYSQL Yedeklemek Çok Kolay Professionel Programlama Makaleleri 0 19-11-2007 07:38
MySQL, Delphi ve Zeos Bileşenleri kadınca Mysql 0 13-11-2007 11:25


Webmaster web tasarım online reviews ~ Kadınlar blogu ~ Apple iPhone, iPod Touch ( iTouch ) Forum ~ iPhone