Koneksi Database Dengan Delphi, MySQL & ZEOS
Setelah koneksi database dengan Delphi & MySQL, kini kita akan mengikuti sebuah tutorial membuat koneksi database dengan Delphi, MySQL dan Zeos Database Object. Kita tahu, Zeos tidak hanya untuk MySQL, tapi juga Interbase, Firebird, SQLite dan lainnya. Namun kita batasi saja pada MySQL, ya. Mengingat ruang dan yang paling penting, MySQL adalah database open source terbaik dan paling populer saat ini.
Instalasi Zeos DBO v.7.0.0 pada Delphi 2009 dan Delphi 2010 (Unicode) dapat dilihat di : http://jokorb.wordpress.com/2011/01/03/install-zeos-dbo-7-0-0-alpha-di-delphi-2010/
Kita awali dengan spesifikasi software yang saya gunakan dalam tutorial ini. Saya menggunakan Delphi 6, Zeos DBO 6.6.3-Stable dan MySQL 5 Comunnity Server.
Saya asumsikan Anda sudah memiliki MySQl yang terinstall di PC Anda. Jika belum, silahkan download MySQL 5 Comunnity Server. Langkah-langkah di sini mungkin bisa membantu Anda menginstall MySQL. Untuk Zeos, silhakan kunjungi website development Zeos untuk mendownload. Zeos versi 6.6.3-stable yang telah diperkecil – dengan membuang resource yang tidak diperlukan – bisa Anda download di akhir tulisan ini.
OK. Pertama, kita buat database contoh sebuah tabel pelanggan di dalamnya untuk kita gunakan dalam tutorial ini. Masuklah ke command prompt dan jalankan mysql client. Saya menggunakan perintah-perintah berikut:
### jokorb adalah user name saya di MySQL. Sesuaikan punya Anda.###
C:Documents and Settingsuser>mysql -u jokorb -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 10
Server version: 5.1.22-rc-community MySQL Community Server (GPL)
Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the buffer.
mysql> create database contoh;
Query OK, 1 row affected (0.00 sec)mysql> use contoh;
Database changed
mysql> create table pelanggan(
-> id int(6) not null auto_increment,
-> nama varchar(30) not null default ‘anonymous’,
-> alamat varchar(50),
-> telepon varchar(15),
-> primary key (id)
-> );
Query OK, 0 rows affected (0.09 sec)
mysql> exit;
Bye
C:Documents and Settingsuser>exit
Setelah mengetik exit yang terakhir di command prompt, jendela command prompt akan ditutup. Kita telah punya sebuah database contoh dan sebuah tabel pelanggan di dalamnya. Kita lanjut dengan instalasi Zeos DBO di Delphi.
Instalasi Zeos Database Object
- Ekstrak file ZEOSDBO-6.6.3-stable.zip hasil download ke sebuah folder, taruhlah, di C:ZEOSDBO-6.6.3-stable.
- Masuk ke dalam folder tersebut. Cek apakah folder PackagesDelphiXBuild sudah ada. DelphiX berarti Delphi6, Delphi7 atau versi lainnya sesuai versi Delphi yang akan Anda gunakan. Berhubung saya menggunakan Delphi 6, maka folder yang harus saya cek adalah PackagesDelphi6Build. Jika folder Build belum ada, buatlah dulu.
- Jalankan Delphi. Dari Delphi, buka file ZeosDbo.bpg dari folder PackagesDelphiX. Kompile semua project dari menu Project>Compile All. Berikut Binary Package yang harus terkompilasi:
- Sudah? Close All. Tambahkan path folder C:ZEOSDBO-6.6.3-stablePackagesDelphiXBuild ke Delphi Library Path. Caranya masuk ke menu Tools>Environment Options. Pada dialog yang muncul, klik tab Library, dan klik tombol elipsis di samping kanan combobox Library path. Dialog Directories akan muncul.

Klik tombol elipsis yang dilingkari, pilih folder C:ZEOSDBO-6.6.3-stablePackagesDelphiXBuild di mana Anda meletakkan Zeos DBO hasil kompilasi. Tombol Add akan menjadi aktif. Klik Tombol Add, kemudian klik OK. Kembali ke dialog Environment Options. Klik OK lagi.
- Tinggal menginstal komponen-komponen akses data di Component Palette. Buka file ZComponentDesign.dpk dalam folder C:ZEOSDBO-6.6.3-stablePackagesDelphiX. Jika file ini tidak Anda temukan, pilih saja file ZComponent.dpk. Klik tombol Install. Jika tak ada error melintang, Anda telah mempunyai Zeos DBO terinstall di Component Palette Delphi Anda. Amin
Contoh Aplikasi Menggunakan Zeos Database Object
Tentu saja bagian ini ga’ boleh lewat. Langsung saja.
- Buat sebuah aplikasi baru.
- Tambahkan sebuah TZConnection, TZTable dari page Zeos Access ke form.
Tambahkan juga sebuah TDataSource dari page Data Access. Juga sebuah TDBGrid dan sebuah TDBNavigator, keduanya dari page Data Controls. - Atur tata letak komponen-komponen agar enak dilihat. Saya membuatnya seperti ini:

- Atur setting koneksi TZConnection. Protocol diset ke MySQL. Ada beberapa pilihan, tapi buat jaga-jaga dengan versi MySQL yang berbeda, kita gunakan MySQL thok saja.

- Atur juga properti TZConnection yang lain seperti gambar berikut:

- Jika sudah, set properti Connected ke True. Kini atur proprerti connection milik TZTable ke ZConnection1. Atur properti TableName menjadi pelanggan. Set properti Active ke True. Lanjutkan dengan mengeset properti DataSet milik DataSource1 menjadi ZTable1. Terakhir, atur properti DataSource milik DBNavigator1 dan DBGrid1 menjadi DataSource1.
- Jika tidak ada error, aplikasi Anda sudah terkoneksi dengan MySQL server via Zeos DBO. Tekan F9 Untuk menjalankan aplikasi Anda. Cobalah menginputkan beberapa data.

Download
Download Zeos DBO 6.6.3-stable-packed-down
Download Source code tutorial – Link Alternatif (File Zip)
Zeos DBO versi 7.0.0 untuk Delphi 2009/2010 dapat didownload di sini. Cara instalasi dan penggunaannya sama saja.
Seperti biasa, file-file hasil download harus diganti ekstensinya dari .ppt menjadi .zip. Dan yang tidak kalah penting, scan dulu file-file hasil ekstraksi sebelum Anda gunakan.
Referensi
Berikut beberapa alamat web yang bisa Anda jadikan referensi terkait dengan tutorial ini:
- Tip-Tip Koneksi Delphi & MySQL oleh Euis Marlina (Adeisti)
- Zeos Di Delphi
- Oracle 10g & MySQL dengan Delphi
- Maseko’s MySQL Tutorials
- Delphi vs. MySQL on Diskusiweb
Tutorial instalasi Zeos pada Delphi
oleh Euis Marlina (adeisti.blogspot.com)
Selamat Mencoba. Untuk Mba’ Euis Marlina, thanks berat atas postingnya.


Periksa duplikasi dengan Copyscape.
Download Al-Qur'an Digital
View Al-Qur'an Digital Online





Coba lihat langkah-langkah instalasi Zeos di atas. Perhatikan nomor 4., yang menunjukkan penambahan file-file library Zeos ke Delphi Library (Win32). Bila Anda melakukan dengan benar, error tersebut tidak akan muncul.
Soal listing, sebenarnya sama saja
ZQuery1.Append;
ZQuery1.FieldByName(‘Nama’).AsString := ‘Nama Saya.’;
ZQuery1.Post;
Ada beberapa perbedaan, tapi secara umum sama saja.
makasih mas sekarang sudah bisa…. tapi ada yang lain nih mas, dalam penginputan data sebaiknya menggunakan dbEdit atau Edit ya mas… terus kalau saya memfilter data dengan perintah:
ZQuery1.Filtered:=False;
ZQuery1.Filter:=’tgl_layanan like’+QuotedStr(‘%’+Edit1.Text+’%');
ZQuery1.Filtered:=True;
kok error ya mas… “…Access violation at address 005D6529…” padahal sebelum saya pindah menggunakan mysql lancar-lancar aja. sebelumnya saya pakai database access dan ado sebagai koneksinya, tapi sesuai panduan dan komentar dari blok anda saya sekarang coba dan bisa pakai zeos dan mysql server. tapi tetap saja banyak kendalanya… o’ya mas… ada ngga buku yang menjelaskan database mysql server dengan delphi.
makasih ya atas penjelasannya
Pastikan data tanggal dalam Edit1.Text berformat “yyyy-MM-dd”, misalnya “2011-06-29″..
makasih mas joko sekarang sudah bisa, makasih ya… sukses untuk anda dan team
makasih ya sekarang sudah bisa… sukses untuk anda dan team
Sukses juga untuk Anda.
maaf ya saya konsul terus….sekarang saya lagi coba buat program kecil klinik gigi saudara saya yang akan digunakan oleh 3 user sekaligus, tolong masukannya dong karena saya belum pernah membuat program multi user. yg jadi pertannyaan saya… koding multi user dengan koding single user apakah sama atau ada penambahan yang belum saya ketahui… sekali lagi saya mohon maaf karena konsul terus…. tolong pencerahannya ya… alat bantu yg akan saya gunakan delphi6-zeos6-mysql yg ada di xamp.
Sama saja sebenarnya
dear mas… mas posting di atas tanggal 30 May 2011 at 12:12 pm nerangin pembuatan file *.INI, lalu file tersebut dibaca pertama kali saat program runing, lalu membuat dua user, tolong lebih rinci neranginya dong…. saya menggunakan delphi dan xamp…. makasih ya atas penjelasannya….
Buat mas @Saiful Anwar, silahkan ikuti tentang file konfigurasi di sini:
http://jokorb.wordpress.com/2011/08/06/save-setting-koneksi-ke-file-ini
Semoga membantu
Maaf, numpang tanya Mas, gimana ya caranya saya mendeteksi adanya record baru di mysql (pakai timer atau ada event khusus?..) di delphi ?… , jadi ketika ada record baru program akan memberitahukan dalam bentuk ‘alert’ lalu langsung menampilkan record baru tersebut saat itu juga secara realtime. Terima kasih…
Tergantung tujuannya.
Tempo hari saya paka SQL Logger (Di Zeos ada namanya TZSQLMonitor, jangan lupa tambahkan unit ZSQLMonitor ke uses list…). Jadi tiap ada eksekusi perintah sql, SQLMonitor akan mentrace SQL. SQL ini diparse untuk memeriksa jenis SQL (apakah update, insert, delete atau select). Kemudian baru ditampilkan warningnya.
Sekarang, di MySQL versi baru, saya cenderung memilih trigger. Cara ini agak repot karena di semua tabel harus dipasang trigger, tapi akurasi lebih terjamin. Cara SQL Monitor akan keliru jika SQL sudah dieksekusi dan ditrace, tapi ternyata gagal di database (back-end).
Untuk memulai, cobalah pake TZSQLMonitor.
Set Active ke True. Trus event OnTrace:
procedure TForm3.ZSQLMonitor1Trace(Sender: TObject; Event: TZLoggingEvent;
var LogTrace: Boolean);
var
tmp:String;
begin
LogTrace := False;
tmp := uppercase(copy(Trim(Event.Message), 1, 6));
if (tmp = ‘INSERT’) then
ShowMessage(Event.Message);
end;
Semoga dapat membantu..
Terima kasih pencerahannya Mas, terus setelah muncul alert juga menampilkan record baru tersebut (misal ditampilkan di Memo..) bagaimana caranya Mas ?.. maaf banyak tanya,maklum masih newbie..
bos mo nanya nih
gmana caranya ngebuat delphi bisa d akses melalui web
hhhe
saya bru nie d programing jdi mhon d bantu
thanks sebelumnya
Mamet udah nyoba ketik IP target server di properti HostName komponen ZConnection nya?
Pake WebApplication di Delphi.
Perlu diingat, cara ini rumit dan jarang dipakai untuk aplikasi biasa. Ada juga cara lain yaitu dengan framework javascript seperti Raudus dan ExtPascal.
Di sana ada juga demo untuk dipelajari
mas. mohon bantuan nya .. saya mau buat aplikasi yang database nya berisi gambar . untuk nampilin nya dan agar database juga isa update gimana ya .. mohon referensinya ..
Hallo mas joko.., bagaimana membuat progress bar pada saat loding data saat query di jalankan pada zeos….
mohon pencerahaanya
Mas, saya coba inputan ke mysql dari delphi 7 berupa:
1. nama => Edit1
2. alamat => Edit2
3. tanggal daftar => DateTimePicker1
yang tanggal daftar tersebut kok ga bisa masuk ke database ya mas?
padahal sdh saya buat ‘DateToStr(DateTimePicker1.Date)’
terus Format jga sdh saya ganti ‘YYYY-MM-DD’
adakah pengaturan khusus yg lain Mas?
mohon bantuannya?
@prie
Bila tipe field di mysql adalah DATE, berarti masalah bisa jadi ada pada DateToStr(). Fungsi ini mengembalikan nilai string dari tanggal, sesuai format pada komputer. Meskipun Format di property TDateTimePicker sudah YYYY-MM-DD, hasilnya belum tentu sesuai.
Sebaiknya coba fungsi FormatDateTime(‘yyyy-MM-dd’, DateTimePicker1.Date);
*Perhatikan huruf besar/kecil pada ‘yyyy-MM-dd’….