Tutorial Delphi 7 Dengan Database Mysql

Tulisan ini sudah dipindahkan ke website baru kami, Tutorial Koneksi Database Menggunakan Delphi & MySQL. Komentar dan soal di blog ini tidak akan kami jawab pun. Silahkan sampaikan komentar atau cak bertanya Anda pada link garitan di atas.

Sedangkan untuk Delphi, MySQL dan Zeos, silahkan lihat Kursus Persaudaraan Database Dengan Delphi, Zeos & MySQL. Terimakasih 馃檪

Tingkat Kemahiran : Pemula
Software : Delphi 7, MySQL 4


INSTALASI MYSQL



MySQL Peladen dapat didownload di http://dev.mysql.com/. Tajali instalasi boleh Kamu lihat pada dokumentasi yang disertakan dengan file arsip (*.zip) MySQL yang Anda download. Namun jika Kamu tidak mau repot, berikut saya coba menunjukkan langkah-langkah instalasi MySQL Server umpama service di Windows XP (SP2), dengan coretan, lain ada modifikasi konfigurasi kecuali path-path MySQL.




Cak bagi menginstall MySQl Server, ekstraklah file zip hasil download ke drive C:\ sehingga folder utama menjadi C:\MySQL-x.xx.




Kemudian masuklah ke C:\MySQL-x.xx\, cari file-file dengan perpanjangan *.cnf dan hapus. Hapus lagi file My.cnf di drive C:\ sekiranya suka-suka. Hapus juga file my.ini di folder C:\Windows sekiranya ada. Langkah ini untuk membuang kemungkinan konflik nantinya.




Sekarang jalankan command prompt dari menu Mulai>Run, ketik CMD dan enter.
Ketik C:\ dan enter.
Ketik cd C:\MySQL-x.xx\Bin dan enter.
Ketik mysqld-nt 鈥搃nstall dan enter, bikin menginstall MySQL sebagai service.
Ketik SC tiba mysql untuk menjalankan MySQL Service.




Jika semuanya berjalan lancar, waktu ini MySQL Server telah terinstall di komputer Anda.


Cak bagi menguji MySQL Server, kita akan mencoba membuat sebuah database dan sebuah tabel.




Masih di command prompt,
ketik mysql -u root dan enter kerjakan menjalankan MySQL Client. Secara default user pada MySQL Server adalah root dan passwordnya hampa.




Semenjak konsole MySQL Client, ketik perintah-perintah berikut ini:
mysql> Create database mydata; <enter>
Query OK, 1 row affected (0.00 sec)
mysql> use mydata; <enter>
Database changed
mysql> create table teman(
-> nama varchar(30) titinada null,
-> korban varchar(100),
-> telepon varchar(15)
-> ); <enter>
Query OK, 0 rows affected (0.05 sec)
Sampai di sini, Dia telah membuat sebuah database 鈥渕ydata鈥 dan sebuah tabel 鈥渢eman鈥 di dalamnya.




OK, masa ini Anda bisa keluar berpunca konsole ini dengan mengetik
mysql> exit <enter>
Bye


KONEKSI DELPHI & MYSQL



Di Delphi, mutakadim disediakan berbagai rupa cara bikin berkomunikasi dengan MySQL Server, cak semau ADO/dbGo 鈥 dengan pertautan MyODBC driver, ada juga BDE dengan memanfaatkan ODBC, cak semau pula dbExpress yang mengerjakan kombinasi langsung ke Peladen dengan perantaraan library MySQL. Sampai besok, nan akan kita bahas merupakan dbExpress ini, sebab dbExpress adalah teknologi koneksi database asli pecah Borland, dan sudah lalu mendukung MySQL sejak Delphi 6. Meskipun demikian tak tertutup kemungkinan bagi Anda untuk menunggangi suku cadang koneksi pihak ketiga kerumahtanggaan aplikasi Delphi Beliau, seperti MyDac dan sebagainya. Jika Engkau nantinya tertarik, http://www.torry.sauk-sauk menyenggangkan berbagai library antarmuka Delphi 鈥 MySQL untuk Anda download.

OK, kini kita buat sebuah petisi mentah di Delphi. Minta diingat, cak agar Delphi 6 sudah kondusif MySQL, semata-mata yang saya gunakan dalam batik posting ini adalah Delphi 2006. Kita lanjutkan dengan anju-langkah berikut:




Tambahkan sebuah TSQLConnection dari palette dbExpress ke form






jokorb_wordpress_post_mysql_delphi_1.gif


Atur property LoginPrompt menjadi False, lewat Object Inspector




Klik kanan pada SQLConnection1 puas form dan pilih Edit Connection Properties
Sebuah dialog Connection Editor akan ditampilkan

jokorb_wordpress_post_mysql_delphi_2.gif




Kita cak bagi nikah dengan mengklik cembul Add Conection





jokorb_wordpress_post_mysql_delphi_3.gif


Perikatan ini bertipe MySQL dan kita beri nama DBMyData

jokorb_wordpress_post_mysql_delphi_4.gif


Klik OK.
Kini kita atur property hubungan DBMyData ini seperti terlihat plong gambar berikut

jokorb_wordpress_post_mysql_delphi_5.gif




Sira distorsi mencoba jalinan ini dengan mengklik segel centang di bagian atas dialog. Jikalau wanti-wanti yang muncul menunjukkan wasilah sukses, selamat, Kamu siap berksperimen dengan Delphi & MySQL!







Klik OK bagi mengerudungi dialog Connection Editor




Sekali lagi ke form, ubah peruntungan SQLConnection1 menjadi True, sehingga persaudaraan ke MySQL menjadi aktif.




Tambahkan sebuah TSQLTable dari palette dbExpress, sebuah TDataSource, TDataSetProvider dan TClientDataSet dari palette Data Access ke form
Atur kepunyaan SQLConnection eigendom SQLTable1 menjadi SQLConnection1 dan eigendom TableName menjadi 鈥渁ntagonis鈥, seperti nan telah kita buat puas langkah di atas.

jokorb_wordpress_post_mysql_delphi_6.gif




Sekarang ubah properti Dataset terbit DataSetProvider1 menjadi SQLTable1.
Ubah pula properti ProviderName dari ClientDataSet1 menjadi DataSetProvider1.
Bungsu, ubah hoki DataSet bermula DataSource1 menjadi ClientDataset1.

Berasal awalan-langkah ini, kita bias melihat silsilah data pecah server MySQL mencapai GUI aplikasi kita dan juga sebaliknya, lega tabel berikut:




jokorb_wordpress_post_mysql_delphi_ilustrationdiagram.gif



Sebenarnya, akal masuk data n domestik table MySQL dapat simultan dilakukan antara DataSource1 dan SQLTable1, tapi karena SQLTable merupakan dataset unidirectional (satu arah), pengusahaan data control yang multidirectional menjadi tidak berfungsi dengan baik. Abstrak, DBGrid, DBNavigator.
Pergerakan kursor penunjuk record pun hanya dapat mengalir dengan sebelah Next() dan First. Last() dan Next() bukan didukung.
Dataset unidirectional sangat menguntungkan saat koneksi ke SQL Server (sreg umunya) mengembalikan sejumlah ki akbar data, karena menghemat memori dan trafik network.
Delphi menyediakan cara memecahkan keadaan ini dengan menambahkan DataSetProvider dan ClientDataset di antara kedua komponen database di atas. Dataset provider berfungsi mengontrol data dari SQLTable, dan menyimpannya temporer secara lokal, dan kemudian direpresentasikan pula dalam bentuk dataset oleh ClientDataset.




OK. Waktu ini kita tambahkan sebuah DBGrid [palette Data Controls] dan beberapa buah Button hingga tampilan form menjadi sebagai halnya ini:

jokorb_wordpress_post_mysql_delphi_7.gif




Saat ini kodenya. Klik ganda Button1, yang memiliki caption 鈥淧ertama鈥. Ketikkan kode untuk navigasi ke data mula-mula

procedure TForm1.Button1Click(Sender: TObject); begin <span>   </span>ClientDataset1.First; end;

Bagi Button Sebelumnya

procedure TForm1.Button2Click(Sender: TObject); begin if not ClientDataset1.Bof then ClientDataset1.Prior end;

Untuk Button Setelahnya

procedure TForm1.Button3Click(Sender: TObject); begin if not ClientDataset1.Eof do then ClientDataset1.Next; end;

Untuk Button Terakhir

procedure TForm1.Button4Click(Sender: TObject); begin ClientDataSet1.Last; end;

Untuk Button Refresh

procedure TForm1.Button5Click(Sender: TObject); begin if ClientDataset1.ChangeCount>0 then ClientDataset1.ApplyUpdates(-1); end;

Bikin Button-Button lainnya dapat Anda lihat kodenya serta merta pada demo programa nan tersedia buat Anda download di penghabisan gubahan ini.




OK. Sekarang menampilkan data berpokok ClientDataset ke DBGrid. Seperti biasa, Beliau cukup mengeset properti DataSource berpunca DBGrid1 menjadi DataSource1. Kini atur nasib baik Active pada ClientDataset1 dan SQLTable1 menjadi True. Ubah kembali peruntungan Connection dari SQLConnection1 menjadi True.




Jalankan program Beliau.





jokorb_wordpress_post_mysql_delphi_8.gif





KODE Seutuhnya

Berikut kode lengkap permintaan yang yunior kita kerjakan di atas.

unit umain; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, DBXpress, FMTBcd, StdCtrls, Grids, DBGrids, DB, Provider,   DBClient, SqlExpr; type   TForm1 = class(TForm)     SQLConnection1: TSQLConnection;     SQLTable1: TSQLTable;     ClientDataSet1: TClientDataSet;     DataSetProvider1: TDataSetProvider;     DataSource1: TDataSource;     DBGrid1: TDBGrid;     Button1: TButton;     Button2: TButton;     Button3: TButton;     Button4: TButton;     Button5: TButton;     Button6: TButton;     Button7: TButton;     Button8: TButton;     Button9: TButton;     Button10: TButton;     procedure Button1Click(Sender: TObject);     procedure Button2Click(Sender: TObject);     procedure Button3Click(Sender: TObject);     procedure Button4Click(Sender: TObject);     procedure Button5Click(Sender: TObject);     procedure Button6Click(Sender: TObject);     procedure Button7Click(Sender: TObject);     procedure Button8Click(Sender: TObject);     procedure Button9Click(Sender: TObject);     procedure Button10Click(Sender: TObject);   private     { Private declarations }   public     { Public declarations }   end; var   Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin   ClientDataset1.First; end; procedure TForm1.Button2Click(Sender: TObject); begin   if titinada ClientDataset1.Bof then     ClientDataset1.Prior end; procedure TForm1.Button3Click(Sender: TObject); begin   if not ClientDataset1.Eof then     ClientDataset1.Next; end; procedure TForm1.Button4Click(Sender: TObject); begin   ClientDataSet1.Last; end; procedure TForm1.Button5Click(Sender: TObject); begin   if ClientDataset1.ChangeCount>0 then     ClientDataset1.ApplyUpdates(-1);   ClientDataset1.Refresh; end; procedure TForm1.Button6Click(Sender: TObject); begin   ClientDataset1.Delete; end; procedure TForm1.Button7Click(Sender: TObject); begin   ClientDataset1.Append; end; procedure TForm1.Button8Click(Sender: TObject); begin   ClientDataset1.Edit; end; procedure TForm1.Button9Click(Sender: TObject); begin   ClientDataset1.Cancel; end; procedure TForm1.Button10Click(Sender: TObject); begin   if ClientDataset1.ChangeCount>0 then     ClientDataset1.ApplyUpdates(-1); end; end.
      


DOWNLOAD


Dan Berikut, Beliau bias mendownload MySQL Peladen, library LIBMYSQL.DLL yang saya gunakan dalam karangan ini, dan demo programa yang kita buat di atas.

MySQL Server 鈥 3.79MB 鈥 sudah dimodifikasi biar genting
Library LibMySQL.dll letakkan ke directory System32



Contoh Aplikasi

Catatan, file-file download harus diubah ekstensinya ke .zip , sebaiknya scan dengan antivirus lewat sebelum diekstrak.

google keyword: mysql, delphi, koneksi, dbexpress, clientdataset

-5.152193
119.412399

Source: https://jokorb.wordpress.com/2008/03/26/koneksi-database-dengan-delphi-mysql/