Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

Thursday 25 June 2015

VB6.0 :: Koneksi Database Access Menggunakan ADODB Dengan VB6



1. Buat satu database dan tabel pada access. Untuk tulisan kali ini saya menggunakan access 2007. Adapun caranya adalah sebagai berikut : 
Buka aplikasi access yang tersedia, kemudian klik New Blank Database seperti pada gambar dibawah ini.
Ubah file dari database yang akan dibuat seperti pada gambar dibawah kemudian klik browse untuk menyimpan kedalam folder penyimpanan file project dan database nanti. Pada tulisan ini saya masukkan pada folder dengan nama Catatan VB6.
Ubah save as type menjadi Microsoft Access Databases (2000-2003 format)-Kemudian tekan tombol OK - Kemudian tekan tombol create
Buat struktur field dengan menekan icon View dan pilih design view. Seperti pada gambar dibawah ini dan kemudian simpan tabel dengan nama pegawai.
Berikut struktur tabel yang harus dibuat :
Kemudian isi data pada tabel yang telah dibuat.

2. Setelah tabel dibuat, maka database pada program telah siap. Setelah itu jalankan Microsoft Visual Basic 6.0. Pilih Standard EXE-Tekan tombol Open.

3. Simpan project dengan nama koneksi dan form dengan frkoneksi. Kemudian tambahkan komponen datagrid pada form untuk menampilkan data dari tabel access yang telah dibuat sebelumnya. Dengan cara klik menu project pilih component.
4. Cari file .ocx dengan nama Microsoft DataGrid Control 6.0 (OLEDB). Kemudian tekan tombol OK. Dan akan muncul component datagrid pada toolbox.

5. Masukkan komponen datagrid pada form dengan cara klik icon toolbox datagrid dan geser ke arah form. Dan atur lebar datagrid seperti pada gambar berikut dan desain form seperti pada gambar.

6. Langkah berikutnya adalah mensetting koneksi ADODB agar bisa dimasukkan ke dalam file module. Adapun caranya adalah dengan mengklik menu project-references.
7. Cari file library dengan nama Microsoft ActiveX Data Object 2.6 Library dan kemudian centang dan tekan tombol OK.
8. Langkah berikutnya adalah memasukkan kode koneksi database melalui file module. Cara memasukkan file module adalah dengan mengklik menu project-add module-Open.
9. Masukkan code program untuk koneksi database dan tabel  pada file module yang telah dibuat dan setelah selesai simpan file module tersebut. Adapun kode program yang dimasukkan adalah sebagai berikut :
*) Untuk bagian yang diarsir, kode program disambung.
10. Masukkan kode program untuk koneksi ke database pada form dengan kode program sebagai berikut : 

11. Kemudian jalankan form yang telah dituliskan kode program dengan menekan tombol F5 atau icon Start. Dan berikut hasil kode program untuk koneksi ke database.

Demikian cara koneksi database Access menggunakan ADODB dengan VB6, dan jika ada pertanyaan mengenai pembahasan pada tulisan ini silahkan untuk berkomentar. Semoga pembaca dapat memahami apa yang saya tulis.

VB6.0 :: SOURCE CODE KONEKSI DATABASE DENGAN ADODB DI VB6.0



Option Explicit
Public conn As New ADODB.Connection
Public rs As New ADODB.Recordset
Dim mvBookMark As Variant

Public Sub Koneksi()
'buat string koneksi baru ke database
Set conn = New ADODB.Connection
'buka string koneksi ke database target
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & App.Path & "\dbMedis.mdb;Persist Security Info=False"
'tentukan lokasi korsur sebagai client
conn.CursorLocation = adUseClient
End Sub

Sub tampilDataGrid()
'buka tabel Latihan
rs.Open "select * from TRANS_CEK_MEDIS", conn
'baca tabel anggota hingga record terakhir
With rs
 If Not (.BOF And .EOF) Then
 mvBookMark = .Bookmark
 End If
End With
'hubungkan datagrid ke tabel Latihan
Set DataGrid1.DataSource = rs.DataSource
End Sub



Private Sub Form_Load()
Call Koneksi
Call tampilDataGrid
End Sub

VB6.0 :: Code Simpan, Cari, Edit dan hapus data pada Visual Basic 6.0 dengan ADODC DAN ADODB


Berikut adalah comtoh penulisan code vb6 untuk simpan, cari, ubah dan hapus data dengan menggunakan Data Control, ADODC, dan ADODB. (codenya basic/pemula)

Code-code dibawah ini hanya sebatas code-code dasar untuk simpan, cari, ubah dan hapus, tidak disertakan code-code validasi, penanganan error ataupun code untuk koneksinya.




1. DATA CONTROL

Yang perlu diperhatian adalah bahwa Data Control membutuhkan index untuk pencarian yang selanjutnya untuk melakukan edit dan hapus data


#Simpan Data : 
Data1.Recordset.AddNew
Data1.Recordset!namakolom1 = Text1.Text
Data1.Recordset!namakolom2 = Text2.Text
Data1.Recordset.Update
Data1.Refresh


#Pencarian Data :
Data1.Recordset.Index = "KodeIdx"
Data1.Recordset.Seek "=", Textcari.Text
If Not Data1.Recordset.NoMatch Then
     Text1.Text = Data1.Recordset!namakolom1
     Text2.Text = Data1.Recordset!namakolom2
Else
     MsgBox "Maaf, Data Tidak Ditemukan!"
End if


#Edit Data :
Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.
Data1.Recordset.Edit
Data1.Recordset!namakolom1=Text1.Text
Data1.Recordset!namakolom2=Text2.Text
Data1.Recordset.Update
Data1.Refresh


#Hapus Data :
Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.
Data1.Recordset.Delete
Data1.Refresh



2. ADODC



#Simpan Data :
Adodc1.Recordset.AddNew
Adodc1.Recordset!namakolom1 = Text1.Text
Adodc1.Recordset!namakolom2 = Text2.Text
Adodc1.Recordset.Update
Adodc1.Refresh



#Pencarian Data :

Adodc1.Recordset.Find "namakolom1='" + Text1.Text + "'", , adSearchForward, 1
If Not Adodc1.Recordset.EOF Then
     Text1.Text = Adodc1.
red;">Recordset!namakolom Text2.Text = Adodc1.Recordset!namakolom2
Else
     MsgBox "Maaf, Data Tidak Ditemukan!"
End if


#Edit Data :
Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.

Adodc1.Recordset!namakolom1=Text1.Text
Adodc1.Recordset!namakolom2=Text2.Text
Adodc1.Recordset.Update
Adodc1.Refresh


#Hapus Data :
Kode ini sebaiknya dijalankan setelah kode pencarian dijalankan terlebih dahulu.
Adodc1.Recordset.Delete
Adodc1.Refresh



3. ADODB
Sebelum melangkah lebih jauh sebaiknya Anda membaca terlebih dahulu bagaimana koneksi database dengan menggunakan ADODB disini


#Simpan Data :
ado.Execute "INSERT INTO [nama tabel] VALUES ('" + Text1.Text + "','" +  Text2.Text + "')"


#Pencarian Data
Set Rs = New Adodb.Recordset
Rs.Open "SELECT * FROM [nama table1] WHERE [nama kolom1]='" + TextCari.Text + "'", ado
If Not rs.EOF Then
     Text1.Text = rs("namakolom1")
     Text2.Text = rs("namakolom2")
Else 
     MsgBox "Maaf, Data Tidak Ditemukan!"
End if 


#Edit Data

ado.Execute "UPDATE [nama tabel] Set [namakolom1]='" + Text1.Text + _
                    "',[namakolom2]='" + Text2.Text + _
                    "' WHERE [nama kolom1]='" + TextCari.Text + "'"

Code diatas tidak memerlukan lagi kode pencarian seperti code edit untuk DATA dan Adodc


#Hapus Data
ado.Execute "DELETE * FROM [nama tabel] WHERE [nama kolom1]='" + TextCari.Text + "'"

Code diatas tidak memerlukan lagi kode pencarian seperti code hapus untuk DATA dan Adodc

Thursday 28 May 2015

PHP :: Akses Port Serial dengan PHP





Penggunaan (dikutip dari example.php):
<?php
include "php_serial.class.php";

// Let's start the class
$serial = new phpSerial;

// First we must specify the device. This works on both linux and windows (if
// your linux serial device is /dev/ttyS0 for COM1, etc)
$serial->deviceSet("COM1");

// Then we need to open it
$serial->deviceOpen();

// To write into
$serial->sendMessage("Hello !");

// Or to read from
$read = $serial->readPort();

// If you want to change the configuration, the device must be closed
$serial->deviceClose();

// We can change the baud rate
$serial->confBaudRate(2400);

// etc...
?>
Syntax Highlighted with http://php-id.org/syntax


Monday 25 May 2015

VB6.0 :: Membalikkan Kata di Visual Basic 6.0


Pernahkah Anda berfikir bagaimana proses membalikkan susunan suatu kata ???
Di Visual Basic 6.0 sendiri terdapat fungsi untuk membalikkan kata, yaitu “StrReverse”. Tapi apakah Anda tau proses yang terjadi didalam fungsi tersebut ???
Postingan ini akan mengupas tuntas proses yang terjadi di dalam fungsi tersebut.

Rancanglah form seperti gambar diatas. Berikut ini source codenya :
————————————————————————————————————
Private Sub Command1_Click()
Text2.Text = “”
For i = 1 To Len(Text1.Text)
Text2.Text = Text2.Text &     Mid(Text1.Text, Len(Text1.Text) – i + 1, 1)
Next i
End Sub
————————————————————————————————————
Download program kata terbalik klik disini.

VB6.0 :: Membuat Program Stopwatch Sederhana dengan Visual Basic 6.0


Pasti Anda tau dengan yang namanya stopwatch, stopwatch adalah alat pengukur waktu. Pada postingan ini saya akan membahas pembuatan program stopwatch.


Pada program ini pengukur waktu yang digunakan dalam satuan menit,detik dan milidetik. Rancanglah Form seperti tampilan gambar diatas.
Source Code dari program diatas :
———————————————————————————————-
Private Sub CmdStart_Click()
Xmili.Caption = “00”
xdetik.Caption = “00”
xmenit.Caption = “00”
Timer1.Enabled = True
CmdStart.Enabled = False
CmdStop.Enabled = True
End Sub
Private Sub CmdStop_Click()
Timer1.Enabled = False
CmdStart.Enabled = True
CmdStop.Enabled = False
End Sub
Private Sub Form_Load()
Timer1.Enabled = False
CmdStop.Enabled = False
End Sub
Private Sub Timer1_Timer()
Xmili.Caption = Val(Xmili.Caption) + 1
If Len(Xmili.Caption) = 1 Then Xmili.Caption = “0” & Xmili.Caption
If Xmili.Caption = “60” Then
Xmili.Caption = “00”
xdetik.Caption = Val(xdetik.Caption) + 1
If Len(xdetik.Caption) = 1 Then xdetik.Caption = “0” & xdetik.Caption
End If
If xdetik.Caption = “60” Then
xdetik.Caption = “00”
xmenit.Caption = Val(xmenit.Caption) + 1
If Len(xmenit.Caption) = 1 Then xmenit.Caption = “0” & xmenit.Caption
End If
End Sub
———————————————————————————————-
Untuk mendownload program stopwatch sederhana ini, klik disini.

VB6.0 ::Membaca File .txt di Visual Basic 6.0


File yang berektensi “.txt” sudah biasa kita gunakan untuk mencatat sesuatu yang penting, atau mencatat hal-hal yg menurut Anda itu perlu dicatat :D. Kelebihan file “.txt” ini di banding dengan file yang lain yaitu ukurannya yang sangat kecil sekali. Jadi sudah menjadi kebiasaan untuk mencatat sesuatu ke dalam file ini. Nah bagaimana cara untuk menampilkan isi dari file “.txt” dengan menggunakan bahasa visual basic 6.0 ???.

VB6.0 :: Games MineSweeper dengan Visual Basic 6.0


Minesweeper adalah games bawaan windows, yang mungkin Anda mengetahuinya. Tapi apa Anda pernah mencoba membuat game ini dengan menggunakan bahasa pemrograman yang Anda ketahui ???. Bagi yang tidak pernah mencobanya dan ingin tau seperti apa script yg ada di dalam game ini, di postingan ini saya memberikan source code game ini dengan menggunakan bahasa pemrograman visual basic 6.0.

vb6.0 :: Meregisterkan OCX di Visual Basic 6.0


Mungkin Anda pernah menggunakan ocx di visual basic, tapi jika project yang Anda buat menggunakan ocx tersebut di buka di komputer lain apa bisa ??? :D . Mungkin bisa, mungkin tidak, itu karena ocx tersebut belum di registerkan. Bagaimana cara meregisterkan ocx tersebut ???.
Langkah 1:
– Buka Notepad.
– Ketik Kode Program di bawah ini :
cls
copy xpstyle.OCX %systemroot%\system32
regsvr32 /s %systemroot%\system32\xpstyle.OCX
pause
Simpan file tersebut di folder yang sama dengan ocx yang ingin di registerkan dengan nama install.cmd . Pada contoh di atas saya meregisterkan xpstyle.OCX .
Mengunakan file tersebut dengan men-double click file tersebut.

VB6.0 :: Menggunakan Button Vista Untuk Mempercantik Button di Visual Basic 6.0


Button Vista  adalah komponen .ocx yg di gunakan untuk merancang tampilan tombol (button) menjadi lebih menarik dengan berbagai bentuk, seperti pada gambar di bawah ini :
untuk menambahkan komponen “Button Vista”  ini ke dalam project Anda, ikuti cara berikut :
1. Klik Project dan pilih components (atau bisa tekan Ctrl + T).
2. Klik tombol “Browse”. Cari posisi komponen “button_vista.ocx” dan klik “Open”.
3. Perhatikan Toolbox, komponen yang ada di toolbox akan bertambah. Buatlah tombol dengan bentuk yang Anda inginkan.
untuk mendownload komponen “Button_Vista.ocx” klik disini.

VB6.0 :: Menggunakan XP Style Untuk Mendesign Form di Visual Basic 6.0


XP style adalah komponen .ocx yg digunakan untuk merancang tampilan form menjadi tampilan form yang ada di windows xp, seperti pada gambar di bawah ini :


untuk menambahkan komponen xp style ini ke dalam project Anda, ikuti cara berikut ini :
1. Klik Project dan pilih components (atau bisa tekan Ctrl + T).
2. Ceklist pilihan XP Style Active X Pack dan tekan tombol “OK”, seperti pada gambar di bawah.

Jika tidak muncul pilihan yg di atas, klik tombol “Browse”. Cari posisi komponen “xpstyle.ocx” dan klik “Open”.
3. Perhatikan Toolbox, komponen yang ada di toolbox akan bertambah. Rancanglah form sesuai keinginan Anda.
untuk mendownload komponen “XPStyle.ocx” klik disini.

VB6.0 :: Menambahkan Efek Suara di Visual Basic 6.0


Pasti Anda pernah bermain game kan ???. Game yang Anda mainkan tentu tidak akan seru jika tidak adanya suara yang membuat efek game itu menjadi lebih nyata. Pada postingan kali ini saya akan memberikan cara bagaimana menyisipkan atau menambahkan suara di visual basic 6.0 sehingga jika Anda membuat game dari visual basic, maka Anda hanya tinggal menambahkan suaranya saja. Jadi game yang Anda buat menjadi lebih seru jika di tambah efek suara.

VB6.0 :: Membuat Tampilan Form Lebih Menarik Dengan Skin di VB 6.0


Jika Anda merasa bosan melihat tampilan form di visual basic 6.0 dan ingin membuatnya lebih menarik, maka komponen skin yang Anda perlukan. Komponen skin ini berekstensi “.skn” dan memiliki berbagai jenis tampilan form. Tapi untuk menggunakan skin ini Anda harus memiliki komponen “ACTSKIN4.ocx”, karena komponen inilah yang berfungsi untuk menampilkan tampilan Skin ke dalam form. Berikut ini gambar tampilan form yang sudah menggunakan skin :
Berikut ini Skin yang saya miliki :

VB.NET ::Membuat MDI Child pada sebuah Form


Sebuah MDIForm dapat dibuat dari sebuah Form biasa, Yaitu dengan cara mengatur properties IsMdiContainer pada Form tersebut diubah menjadi True
Sebuah Form dapat diatur menjadi MDIChild bagi sebuah MDIForm melalui coding program. Aturan penulisannya sebagai berikut
Contoh :
Form2.MdiParent = Form1
atau juga bisa menggunakan code seperti dibawah ini
Dim anakwin As New Form3()
anakwin.MdiParent = Me
anakwin.Show()
Pada contoh coding program diatas, sebuah Form bernama Form2 diatur agar menjadi MDIChild bagi sebuah MDIForm bernama Form1
untuk lebih jelasnya bisa melihat code program dibawah // tapi ingat !! Pada Form1 yg digunakan sebagai menu utamanya IsMdiContainer pada Form tersebut diubah menjadi True
[Visual Basic.NET] Membuat MDI Child pada sebuah Form
[Visual Basic.NET] Membuat MDI Child pada sebuah Form
[Visual Basic.NET] Membuat MDI Child pada sebuah Form
[Visual Basic.NET] Membuat MDI Child pada sebuah Form
Membuat desain form sebagai tampilan
[Visual Basic.NET] Membuat MDI Child pada sebuah Form
[Visual Basic.NET] Membuat MDI Child pada sebuah Form
Untuk code program bisa dilihat dibawah ini
Kunjungi juga contoh aplikasi laporan CRUD disini
——————————————————————————————————–
Public Class Form1
Private Sub NewDocumentToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesNewDocumentToolStripMenuItem.Click
Dim anakwin As New Form2()
anakwin.MdiParent = Me
anakwin.Show()
End Sub
Private Sub Page2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Page2ToolStripMenuItem.Click
Dim anakwin As New Form3()
anakwin.MdiParent = Me
anakwin.Show()
End Sub
Private Sub HorizontalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesHorizontalToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub
Private Sub VertikalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VertikalToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
Private Sub CloseAllToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CloseAllToolStripMenuItem.Click
For Each ChildForm As Form In Me.MdiChildren
ChildForm.Close()
Next
End Sub
Private Sub CascadeToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CascadeToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.Cascade)
End Sub
End Class

Wednesday 13 May 2015

DELPHI7 :: Koneksi Database dengan Delphi & MySQL

INSTALASI MYSQL

MySQL Server dapat didownload di http://dev.mysql.com/. Petunjuk instalasi dapat Anda lihat pada dokumentasi yang disertakan dengan file arsip (*.zip) MySQL yang Anda download. Namun jika Anda tidak mau repot, berikut saya coba menunjukkan langkah-langkah instalasi MySQL Server sebagai service di Windows XP (SP2), dengan catatan, tidak ada modifikasi konfigurasi kecuali path-path MySQL.
·Untuk 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 ekstensi *.cnf dan hapus. Hapus juga file My.cnf di drive C:\ jika ada. Hapus juga file my.ini di folder C:\Windows jika ada. Langkah ini untuk membuang kemungkinan konflik nantinya.
·Sekarang jalankan command prompt dari menu Start>Run, ketik CMD dan enter.
Ketik C:\ dan enter.
Ketik cd C:\MySQL-x.xx\Bin dan enter.
Ketik mysqld-nt –install dan enter, untuk menginstall MySQL sebagai service.
Ketik SC start mysql untuk menjalankan MySQL Service.
·Jika semuanya berjalan lancar, kini MySQL Server telah terinstall di komputer Anda.
Untuk menguji MySQL Server, kita akan mencoba membuat sebuah database dan sebuah tabel.
·Masih di command prompt,
ketik mysql -u root dan enter untuk menjalankan MySQL Client. Secara default user pada MySQL Server adalah root dan passwordnya kosong.
·Dari 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) not null,
-> alamat varchar(100),
-> telepon varchar(15)
-> ); <enter>
Query OK, 0 rows affected (0.05 sec)
Sampai di sini, Anda telah membuat sebuah database “mydata” dan sebuah tabel “teman” di dalamnya.
·OK, sekarang Anda bisa keluar dari konsole ini dengan mengetik
mysql> exit <enter>
Bye
KONEKSI DELPHI & MYSQL
Di Delphi, telah disediakan berbagai cara untuk berkomunikasi dengan MySQL Server, ada ADO/dbGo – dengan perantaraan MyODBC driver, ada juga BDE dengan memanfaatkan ODBC, ada pula dbExpress yang melakukan koneksi langsung ke Server dengan perantaraan library MySQL. Sampai nanti, yang akan kita bahas adalah dbExpress ini, sebab dbExpress adalah teknologi koneksi database asli dari Borland, dan sudah mendukung MySQL sejak Delphi 6. Meskipun demikian tidak tertutup kemungkinan bagi Anda untuk menggunakan komponen koneksi pihak ketiga dalam aplikasi Delphi Anda, seperti MyDac dan sebagainya. Jika Anda nantinya tertarik,http://www.torry.net menyediakan beragam library antarmuka Delphi – MySQL untuk Anda download.
OK, kini kita buat sebuah aplikasi baru di Delphi. Harap diingat, meski Delphi 6 sudah mendukung MySQL, namun yang saya gunakan dalam menulis posting ini adalah Delphi 2006. Kita lanjutkan dengan langkah-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 pada form dan pilih Edit Connection Properties
Sebuah dialog Connection Editor akan ditampilkan
jokorb_wordpress_post_mysql_delphi_2.gif
·Kita buat koneksi dengan mengklik tombol Add Conectionjokorb_wordpress_post_mysql_delphi_3.gif
Koneksi ini bertipe MySQL dan kita beri nama DBMyDatajokorb_wordpress_post_mysql_delphi_4.gif
Klik OK.
Kini kita atur property koneksi DBMyData ini seperti terlihat pada gambar berikut
jokorb_wordpress_post_mysql_delphi_5.gif
·Anda bias mencoba koneksi ini dengan mengklik tanda centang di bagian atas dialog. Jika pesan yang muncul menunjukkan koneksi sukses, selamat, Anda siap berksperimen dengan Delphi & MySQL!
·Klik OK untuk menutup dialog Connection Editor
·Kembali ke form, ubah properti SQLConnection1 menjadi True, sehingga koneksi ke MySQL menjadi aktif.
·Tambahkan sebuah TSQLTable dari palette dbExpress, sebuah TDataSource, TDataSetProvider dan TClientDataSet dari palette Data Access ke form
Atur properti SQLConnection milik SQLTable1 menjadi SQLConnection1 dan properti TableName menjadi “teman”, seperti yang telah kita buat pada langkah di atas.
jokorb_wordpress_post_mysql_delphi_6.gif
·Sekarang ubah properti Dataset dari DataSetProvider1 menjadi SQLTable1.
Ubah juga properti ProviderName dari ClientDataSet1 menjadi DataSetProvider1.
Terakhir, ubah properti DataSet dari DataSource1 menjadi ClientDataset1.
Dari langkah-langkah ini, kita bias melihat alur data dari server MySQL hingga ke GUI aplikasi kita dan juga sebaliknya, pada diagram berikut:
jokorb_wordpress_post_mysql_delphi_ilustrationdiagram.gif

Sebenarnya, akses data dalam table MySQL dapat langsung dilakukan antara DataSource1 dan SQLTable1, tapi karena SQLTable adalah dataset unidirectional (satu arah), penggunaan data control yang multidirectional menjadi tidak berfungsi dengan baik. Contoh, DBGrid, DBNavigator.
Pergerakan kursor penunjuk record pun hanya dapat bergerak dengan arah Next() dan First. Last() dan Next() tidak didukung.
Dataset unidirectional sangat menguntungkan saat koneksi ke SQL Server (pada umunya) mengembalikan sejumlah besar data, karena menghemat memori dan trafik network.
Delphi menyediakan cara mengatasi hal ini dengan menambahkan DataSetProvider dan ClientDataset di antara kedua komponen database di atas. Dataset provider berfungsi mengontrol data dari SQLTable, dan menyimpannya sementara secara lokal, dan kemudian direpresentasikan kembali dalam bentuk dataset oleh ClientDataset.
·OK. Kini kita tambahkan sebuah DBGrid [palette Data Controls] dan beberapa buah Button hingga tampilan form menjadi seperti ini:jokorb_wordpress_post_mysql_delphi_7.gif
·Sekarang kodenya. Klik ganda Button1, yang memiliki caption “Pertama”. Ketikkan kode untuk navigasi ke data pertama
1
2
3
4
procedure TForm1.Button1Click(Sender: TObject);
begin
<span>   </span>ClientDataset1.First;
end;
Untuk Button Sebelumnya
1
2
3
4
5
procedure TForm1.Button2Click(Sender: TObject);
begin
if not ClientDataset1.Bof then
ClientDataset1.Prior
end;
Untuk Button Setelahnya
1
2
3
4
5
procedure TForm1.Button3Click(Sender: TObject);
begin
if not ClientDataset1.Eof do then
ClientDataset1.Next;
end;
Untuk Button Terakhir
1
2
3
4
procedure TForm1.Button4Click(Sender: TObject);
begin
ClientDataSet1.Last;
end;
Untuk Button Refresh
1
2
3
4
5
procedure TForm1.Button5Click(Sender: TObject);
begin
if ClientDataset1.ChangeCount>0 then
ClientDataset1.ApplyUpdates(-1);
end;
Untuk Button-Button lainnya dapat Anda lihat kodenya langsung pada demo program yang tersedia untuk Anda download di akhir tulisan ini.
·OK. Sekarang menampilkan data dari ClientDataset ke DBGrid. Seperti biasa, Anda cukup mengatur properti DataSource dari DBGrid1 menjadi DataSource1. Kini atur properti Active pada ClientDataset1 dan SQLTable1 menjadi True. Ubah juga properti Connection dari SQLConnection1 menjadi True.
·Jalankan program Anda.jokorb_wordpress_post_mysql_delphi_8.gif

KODE SELENGKAPNYA
Berikut kode lengkap aplikasi yang baru kita buat di atas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
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 not 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.
DOWNLOADDan Berikut, Anda bias mendownload MySQL Server, library LIBMYSQL.DLL yang saya gunakan dalam tulisan ini, dan demo program yang kita buat di atas.
Catatan, file-file download harus diubah ekstensinya ke .zip , sebaiknya scan dengan antivirus dulu sebelum diekstrak.