Kodbank İndir

! CODEBANK 2012 !

İNDİRMEK&DETAYLI BİLGİ ALMAK İÇİN BURAYI TIKLAYINIZ.

ÖNEMLİ AÇIKLAMA: MUTLAKA OKUYUNUZ!

Gönderen Konu: Delphi, MySQL ve Zeos Bileşenleri  (Okunma sayısı 8691 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı cemaliozan

  • Kıdemli Üye
  • *****
  • İleti: 230
  • Rep: +4/-3
  • Cinsiyet: Bay
  • Kodlarım, canlarım
    • Gerçek Sevgi Portalı
Delphi, MySQL ve Zeos Bileşenleri
« : 22 Kasım 2006 17:40:34 »

  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 http://www.zeoslib.net veya http://sourceforge.net/project/showfiles.php?group_id=35994
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 KategoriIsmi:String);
  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.
www.teksevgi.com - Tamamı BDS 2006 ile yazıldı..

Yaşamaya Değer Bir Hayattan, Sevmeye Değer Bir Aşktan, Dostluğa Değer Bir Arkadaşlıktan Asla Vazgeçmeyin...

Çevrimdışı MaMi

  • Yeni Üye
  • *
  • İleti: 1
  • Rep: +0/-0
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #1 : 12 Mart 2007 02:42:18 »
usta s.a bu zeos bileşenlerinin kurulumunu yapamadım mysql li delphiye atmam lazm ama olmuyo anlamadım. proje için lazım dı. yardım cı olursan sevinirim biraz ayrın tı katarsan işe çoookk güzel olur . 

Çevrimdışı FeelMe

  • Üye
  • ***
  • İleti: 32
  • Rep: +0/-0
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #2 : 27 Mart 2008 04:22:43 »
ya benim anlamadığım VCL ye kaydettir ne demek :S

Çevrimdışı FeelMe

  • Üye
  • ***
  • İleti: 32
  • Rep: +0/-0
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #3 : 27 Mart 2008 04:40:05 »
uzun süredir araştırıorm ve sonunda çözdüm....dbExpress ile bağlantı kurabiliyorum...


Yaptığım testler sonucunda dbexpress, MsSql ve MySql üzerinde ado’ya göre daha çok daha hızlı bir şekilde bağlantı sağlamakta. Sql Server 2000 için herhangi bir sorun çıkarmamasına rağmen MySql 5.0 bağlantısı kurmak istediğimde bir türlü bağlanamadım.

Bunun sebebini araştırdığımda ise dbexpress’in MySql 5.0 için gerekli olan driver dosyasının çekilmesi gerektiği kanaatine vardım. İlgili dosyayı bu linkten çekebilirsiniz. -->http://www.crlab.com/dbx/dbxmda.exe

Linkteki dosyayı çekip kurduğunuzda yeni bazı bağlantı şekilleri eklendiğini göreceksiniz. mysql için MySql Direct (Core Lab) sürücüsünü kullandığımda çok kolay bir şekilde bağlandı.


dbexpress kullanmak için yapmanız gerekenler.

   1. form üzerine SqlConnection componenti ekleyin.
   2. Componente çift tıklayarak Driver Name bölümünden MySql Direct (Core Lab) sürücüsünü seçin
   3. sağdaki parametreler bölümünden bağlanmak istediğiniz sunucu, veritabanı ve kullanıcı bilgileri ekleyin.
   4. SqlQuery componenti ekleyerek istediğiniz sorguyu yazarak çalıştırın.

Bu kadar basit. Aslında bağlantı ve kullanım olarak Ado kadar kolay bir kullanımı var.

DbExpress’i runtime aşamasında yapılandırmak isterseniz:

// MySql için

SqlConnection.ConnectionName:=’MySQL Direct (Core Lab)’;
SqlConnection.DriverName:=’MySQL Direct (Core Lab)’;
SqlConnection.GetDriverGunc:=’getSQLDriverMySQLDirect’;
SqlConnection.LibraryName:=’dbexpmda.dll’;
SqlConnection.VendorLib:=’not used’;

// Parametrelerin ayarlanmadı

SqlConnection.Params.Clear;
SqlConnection.Params.Add(’BlobSize=-1′);
SqlConnection.Params.Add(’HostName=<serveradı>’);
SqlConnection.Params.Add(’DataBase=<veritabanı>’);
SqlConnection.Params.Add(’DriverName=MySQL Direct (Core Lab)’);
SqlConnection.Params.Add(’User_Name=<kullanıcıadı>’); SqlConnection.Params.Add(’Password=<Parola>’);
SqlConnection.Params.Add(’FetchAll=True’);
SqlConnection.Params.Add(’EnableBoolean=False’);

Çevrimdışı delphoi

  • Yeni Üye
  • *
  • İleti: 8
  • Rep: +0/-0
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #4 : 04 Kasım 2008 14:35:34 »
http:\\www.datakent.com

istekler öneriler bölümünde ayrıntılı bilgi var.
Kolay Gelsin...

Çevrimdışı sako

  • Üye
  • ***
  • İleti: 27
  • Rep: +0/-1
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #5 : 17 Mart 2009 11:08:37 »
arkadaşlar
ZEOSDBO-6.6.4-stable
ZEOSDBO-6.6.4-stable_doxygen
bu iki dosyayı indirdim. Yukarıdaki açıklamalar doğrultusunda zeosu kurmak istedim ama

İ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


yukarıda bahsedilen dosyalardan hiçbirisi yok bu indirdiğim paketlerin içerisinde. Ben yanlış bişeyler yapıyorum ama ne bulamadım. Yardımlarınızı bekliyorum...

Çevrimdışı sako

  • Üye
  • ***
  • İleti: 27
  • Rep: +0/-1
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #6 : 18 Mart 2009 09:21:07 »
KİMSE YOK MU YARDIM EDECEK...

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #7 : 24 Mart 2009 12:40:37 »
Kurmaya çalıştığınız bileşenin linkini verir misiniz? Kullandığınız Delphi sürümü nedir?
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı sako

  • Üye
  • ***
  • İleti: 27
  • Rep: +0/-1
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #8 : 25 Mart 2009 07:48:21 »
Link şu

http://sourceforge.net/project/showfiles.php?group_id=35994  bu linkteki listede ne var ne yok indirdim ama yine bulamadım anlatınlan dosyaları.

delphi 7 kullanıyorum

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #9 : 25 Mart 2009 09:37:35 »
Bahsettiğiniz dlldosyaları MySQL'e ait. Yani Zeos ile birlikte gelmiyor..
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı sako

  • Üye
  • ***
  • İleti: 27
  • Rep: +0/-1
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #10 : 25 Mart 2009 10:26:23 »
ZCore.bpl
ZParseSql.bpl
ZPlain.bpl
ZDbc.bpl

bu dosyalar da yok ama...

Çevrimdışı Fatih

  • Emekli Yönetici
  • *****
  • İleti: 2.217
  • Rep: +43/-10
  • Cinsiyet: Bay
    • Delphi Dünyası
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #11 : 25 Mart 2009 10:56:43 »
Onları DPK dosyalarını derleyerek (build) edersin
Malulen emekli programcı / yazar. Bildiklerini unutmakta olduğundan size cevap veremez.

Çevrimdışı luzumsuz

  • Yeni Üye
  • *
  • İleti: 4
  • Rep: +0/-0
Ynt: Delphi, MySQL ve Zeos Bileşenleri
« Yanıtla #12 : 10 Nisan 2009 15:32:43 »
ya arkadaşlar ben bişey sormak istiyorum. MySQL connctor ile odbc den bağlanmak iyi değilmidir. ben hep onu kullanıyorum hiç bi sorunda yaşamıyorum ama belki dezavantajları vardır ben bilmiyorumdur. veya diğerleri dahamı hızlı daha sağlam. bu konuda aydınlatacak kimse varmıdır.