Zeos adalah komponen alternatif pengganti koneksi ADO yang dapat dengan mudah digunakan untuk mengakses
database MySQL, PostGre, Interbase/Firebird pada aplikasi Delphi
maupun Lazarus. .
ZeosDBO versi 6.6.6 stable dapat digunakan di Delphi mulai dari Delphi 5 ke
atas dan juga Lazarus, sedangkan ZeosDBO versi 7.0.0 alpha hanya untuk Delphi
2009, 2010 dan 2011.
Berikut langkah instalasi ZeosDB secara umum (saat ini saya menggunakan Lazarus 0.9.30)
1. Buka aplikasi MySQL dan Buat database dengan nama 'latihan' dengan perintah :
create database latihan;
2. Buka database 'latihan' dengan perintah :
\u latihan
3. Buat table dalam database latihan.
create table jurusan(
kd_jur varchar(5) PRIMARY KEY,
nm_jur varchar(30)
);
4. Selanjutnya Ekstrak file ZEOSDBO-6.6.6-stable.zip. di drive 'C:\ZEOSDBO-6.6.6-stable' misalnya.
5. Tambahkan component ZeosDBO pada aplikasi Lazarus dengan cara klik Menu Package - Open Package file (.lpk).
6. Pilih file 'C:\ZEOSDBO-6.6.6-stable\packages\lazarus\zcomponent.lpk' - Open
7. Pada jendela Zcomponent yang terbuka, klik tombol
'install', tunggu sesaat proses install dijalankan. selanjutnya tampil dialog
informasi yang menginformasikan bahwa component sudah terpasang di aplikasi
Lazarus. Untuk dapat menggunakannya, anda perlu merestart aplikasi Lazarus.
klik Yes maka Aplikasi Lazarus yang aktif akan ditutup dan dibuka kembali.
8. Perhatikan di tab pallet Lazarus, ada tab baru yang terbentuk dengan nama 'Zeos Access'
9. Selanjutnya buat Project baru dengan cara klik menu File - New. akan tampil dialog :
pilih 'Aplication' - OK
10. Tambahkan komponen berikut pada form yang tampil :
Object
|
Properties
|
Value
|
TZConnection
( tab Zeos Access )
|
AutoCommit
Database
HostName
LoginPrompt
Password
Port
Protocol
User
Connected
|
True
Latihan
Localhost
False
Ichwan
3306
Mysql-5
Root
True
|
TZTable
( tab Zeos Access )
|
Connection
TableName
|
Zconnection1
Jurusan
|
TdataSource
( tab Data Access )
|
DataSet
|
Ztable1
|
Tlabel
( tab Standard )
|
Caption
|
Kode Jurusan
|
Tlabel
( tab Standard )
|
Caption
|
Nama Jurusan
|
Tedit
( tab Standard )
|
Name
MaxLength
text |
5
Txtkd
|
TEdit
( tab Standard )
|
Name
MaxLength
text |
30
Txtnm
|
TBitbtn
( tab Additional )
|
Caption
|
Baru
|
TBitbtn
( tab Additional )
|
Caption
|
Simpan
|
TBitbtn
( tab Additional )
|
Caption
|
Hapus
|
TBitbtn
( tab Additional )
|
Caption
|
Keluar
|
DBGrid
( tab Data Controls)
|
DataSource
|
Datasource1
|
Atur tampilan formnya seperti berikut :
11. Tampilkan field table dalam component ZTable1 dengan
cara double klik pada Ztable1, akan tampil jendela berikut :
klik tombol 'add field
from fieldDefs', selanjutnya akan tampil jendela FieldDefs.
blok kedua field table dengan cara tekan shift + click
- selanjutnya klik tombol Create.
12. Dengan demikian field table jurusan sudah terdaftar
didalam blok Type di editor form.
13. Deklarasikan 2 Procedure baru pada blok Private dengan
nama :
procedure kosong;
procedure tampil;
procedure tampil;
14. Lengkapi body procedurenya dengan :
procedure TForm1.kosong;
begin
txtkd.Clear;
txtnm.Clear;
txtkd.SetFocus;
end;
procedure TForm1.tampil;
begin
txtkd.Text:=ZTable1kd_jur.AsString;
txtnm.Text:=ZTable1nm_jur.AsString;
end;
begin
txtkd.Clear;
txtnm.Clear;
txtkd.SetFocus;
end;
procedure TForm1.tampil;
begin
txtkd.Text:=ZTable1kd_jur.AsString;
txtnm.Text:=ZTable1nm_jur.AsString;
end;
15. Isikan procedure pada onCreate milik form dengan cara Double klik di area form yang kosong, atau dengan cara double klik pada Events OnCreate milik Form.
Lengkapi Perintahnya :
procedure TForm1.FormCreate(Sender: TObject);
begin
ZTable1.Open;
end;
begin
ZTable1.Open;
end;
Perintah diatas akan membuka table pada saat form akan
dijalankan.
16. Procedure OnShow milik Form.Untuk mengosongkan kotak
isian pada saat form dijalankan.
procedure TForm1.FormShow(Sender: TObject);
begin
kosong;
end;
begin
kosong;
end;
17. Procedure OnClick milik Tombol Baru
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
kosong;
end;
begin
kosong;
end;
18. Procedure OnClick milik Tombol Simpan
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if ZTable1.Locate('kd_jur', txtkd.Text, [loCaseInsensitive]) then
ZTable1.Edit
else
ZTable1.Append;
ZTable1['kd_jur']:=txtkd.Text;
ZTable1['nm_jur']:=txtnm.Text;
Try
ZTable1.Post;
kosong;
except
ShowMessage('Gagal Simpan');
Exit;
end;
end;
begin
if ZTable1.Locate('kd_jur', txtkd.Text, [loCaseInsensitive]) then
ZTable1.Edit
else
ZTable1.Append;
ZTable1['kd_jur']:=txtkd.Text;
ZTable1['nm_jur']:=txtnm.Text;
Try
ZTable1.Post;
kosong;
except
ShowMessage('Gagal Simpan');
Exit;
end;
end;
19. Procedure OnClick milik Tombol Hapus
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if MessageDlg('Perhatian', 'Apakah anda yakin data ini akan dihapus ?', mtConfirmation, [mbYes, mbNo],0) = mrYes then
if ZTable1.Locate('kd_jur', txtkd.Text, [loCaseInsensitive]) then begin
ZTable1.Delete;
kosong;
end;
end;
begin
if MessageDlg('Perhatian', 'Apakah anda yakin data ini akan dihapus ?', mtConfirmation, [mbYes, mbNo],0) = mrYes then
if ZTable1.Locate('kd_jur', txtkd.Text, [loCaseInsensitive]) then begin
ZTable1.Delete;
kosong;
end;
end;
20. Procedure OnClick milik Tombol Keluar
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
close;
end;
begin
close;
end;
21. Procedure onDblClick milik DBGrid
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
tampil;
end;
22. Simpan Project dengan cara klik menu File - save all.
Dialog pertama adalah dialog simpan Project, beri nama project dengan Zeos_MySQL - Save
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
tampil;
end;
22. Simpan Project dengan cara klik menu File - save all.
Dialog pertama adalah dialog simpan Project, beri nama project dengan Zeos_MySQL - Save
Dialog kedua adalah dialog simpan Unit form, beri nama 'Unit1.pas'
Jalankan aplikasi dengan cara tekan tombol F9 pada Keyboard. Jika tidak ada masalah, akan tampil form berikut :
jika ada pesan berikut :
'Requested database driver was not found', maka sesuaikan
isi Protocol milik ZConnection1 dengan database dan versi database yang anda
pergunakan.
Source code Aplikasi diatas dapat diambil di http://www.ziddu.com/download/15695554/Lazarus_Zeos_MySQL.rar.html
Berikut ini souce code selengkapnya :
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, Forms, Controls, Graphics, Dialogs, DbCtrls,
DBGrids, StdCtrls, Buttons, ZConnection, ZDataset;
type
{ TForm1 }
TForm1 = class(TForm)
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn5: TBitBtn;
Datasource1: TDatasource;
DBGrid1: TDBGrid;
txtkd: TEdit;
txtnm: TEdit;
Label1: TLabel;
Label2: TLabel;
ZConnection1: TZConnection;
ZTable1: TZTable;
ZTable1kd_jur: TStringField;
ZTable1nm_jur: TStringField;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
procedure kosong;
procedure tampil;
public
{ public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
kosong;
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
if ZTable1.Locate('kd_jur', txtkd.Text, [loCaseInsensitive]) then
ZTable1.Edit
else
ZTable1.Append;
ZTable1['kd_jur']:=txtkd.Text;
ZTable1['nm_jur']:=txtnm.Text;
Try
ZTable1.Post;
kosong;
except
ShowMessage('Gagal Simpan');
Exit;
end;
end;
procedure TForm1.BitBtn3Click(Sender: TObject);
begin
if MessageDlg('Perhatian', 'Apakah anda yakin data ini akan dihapus ?', mtConfirmation, [mbYes, mbNo],0) = mrYes then
if ZTable1.Locate('kd_jur', txtkd.Text, [loCaseInsensitive]) then begin
ZTable1.Delete;
kosong;
end;
end;
procedure TForm1.BitBtn5Click(Sender: TObject);
begin
close;
end;
procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
tampil;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
ZTable1.Open;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
kosong;
end;
procedure TForm1.kosong;
begin
txtkd.Clear;
txtnm.Clear;
txtkd.SetFocus;
end;
procedure TForm1.tampil;
begin
txtkd.Text:=ZTable1kd_jur.AsString;
txtnm.Text:=ZTable1nm_jur.AsString;
end;
end.
Selamat Mencoba
Tidak ada komentar:
Posting Komentar