Senin, 07 November 2011

Manipulasi Data dengan ADODC


Manipulasi Data dengan ADODC
Tulisan ini membahas tentang manipulasi database dalam aplikasi Visual Basic 6.0 menggunakan komponen Adodc. Disini kita akan belajar bagaimana membuat koneksi antara form dengan database, menambahkan record, menyimpan, menghapus, juga pencarian dan penapisan data. Apapun jenis dan type database yang digunakan, prosedur yang ditempuh adalah relatif sama.
Terutama bagi yang baru belajar Visual Basic, atau juga yang masih bingung tentang apa yang akan dilakukan menggunakan Visual Basic, semoga tulisan ini dapat menambah perbendaharaan ilmu anda tentang bahasa pemrograman ini.
Namun sebelumnya, kita harus sudah menginstall tool Apex True DBGrid Pro 6.0c atau yang terbaru dalam komputer kita, karena TDBGrid yang asli bawaan lahir VB agak berbeda dengan TDBGrid yang kita gunakan ini.
Untuk teman – teman yang banyak menanyakan TDBGrid dalam tulisan saya sebelumnya, dan belum sempat saya reply emailnya, mohon maaf ini sekaligus jawaban dari saya
Selamat Mencoba.. !

A.     Membuat File Data / Database
Anda bisa menggunakan aplikasi Ms. Office Access, Excell, Enterprise Managernya SQL Server, Foxpro Tabel, atau aplikasi database lainnya untuk membuat sebuah database yang akan kita gunakan untuk tutorial ini.
Sekedar contoh, lalu didalamnya kita buat sebuah tabel ( Table1 ) yang berisi field NIP, Nama, Tempat_Lahir, Tanggal_Lahir, Agama, dan Status.
Lalu buat koneksi ODBC dengan nama db_tutorial. ( bila belum pernah menggunakan, lihat tulisan saya tentang Tutorial VB pada bahasan ODBC )

B.     Memasukan Komponen VB
Buka aplikasi Visual Basic, buat sebuah Project Exe, bila defaultnya belum terdapat sebuah form kosong maka tambahkanlah sebuah form kosong dan biarkan nama formnya tetap pada default name-nya Form1(Form1)



Masukkan komponen – komponen yang akan kita gunakan ( Ctrl + T  atau lewat menu ProjectComponent ) sebagai berikut :
C.     Membuat Tampilan Form
1.      Masukan 6 buah Label atau sejumlah field yang ada pada tabel database, pada properties Caption ketik dan isikan sesuai nama field masing – masing ( NIP, Nama, Tempat_Lahir, Tanggal_Lahir, Agama, dan Status )
2.      Untuk input box field NIP, Nama, Tempat_Lahir, dan Tanggal_Lahir adalah berupa TextBox,
3.      Agama dan Status berupa DataCombo.
4.      Nama masing – masing input box tersebut 2 dan 3 di atas, sesuaikan dengan nama field – field tabelnya
5.      Masukan juga 5 object CommandButton, beri nama cmdTambah, cmdSimpan, cmdHapus, cmdRefresh dan cmdCari ke dalam Form1
Drag n Drop komponen Adodc ke bidang kerja Form1 yang terbuka.

D.     Mengatur ADODC
Langkah pertama adalah men-setting Adodc terlebih dahulu. Cara mudahnya, klik kanan Adodc1 pilih ADODC Properties, sehingga muncul panel berikut :
·        Pada tab General, Use Data Link File digunakan untuk men-direct source-kan Adodc ke suatu file data link tertentu ( *.udl)
·        Use ODBC Data Source Name digunakan jika kita telah mempunyai koneksi ODBC dan hendak kita source-kan kepada Adodc ini.
·        Sedangkan Use Connection String adalah membangun sebuah hubungan antara Adodc dengan database secara custom

Karena ODBC telah kita buat sebelumnya, maka gunakan Use ODBC Data Source Name dan pilih db_tutorial.
Bila database yang kita gunakan adalah database yang terproteksi, maka pada tab Authentication pada kolom yang tersedia ini kita isi dengan user name dan password dari file database tersebut. Atau dapat kita biarkan kosong bila untuk mengakses database tersebut tidak / tanpa proteksi password.
tabulasi selanjutnya,
Untuk pertama, kita pilih saja 8 – adCmdUnKnown pada kolom Command Type, dan ketik select * from Table1 ( seleksi seluruh array pada tabel bernama Table1 ) pada kolom Command Text ( SQL ) di bawahnya.
Pada tabulasi Color dan Font aturlah sesuai keinginan kita, setelah selesai klik OK

E.     Menghubungkan Object Input Data Menggunakan Adodc
Kita mencoba untuk memanipulasi database secara langsung ( direct link ) menggunakan input box yang telah kita siapkan pada Form1.
Dan properties penting yang perlu diatur pada masing – masing input tersebut adalah pada pengaturan DataSource dan DataField-nya.
Karena semua input akan kita referensikan pada Adodc1, maka properti DataSource semua input tersebut di-set ke Adodc1.
      Sedangkan pada DataField-nya di-set sesuai dengan nama kolom / field yang ada pada
      Table1 / Adodc1

 
Apabila seluruh input ( pada property DataSource dan DataField ) telah ter-set dan terhubung dengan Adodc1, itu artinya form telah siap untuk digunakan untuk memasukan record ke database kita secara direct / langsung.
F.     Menambahkan Record
Script untuk menambah record database menggunakan Adodc adalah Adodc_Name.Recordset.AddNew. Dalam contoh kasus ini maka kita gunakan script script seperti berikut :

Private Sub cmdTambah_Click()
Adodc1.Recordset.AddNew
End Sub

Ketika project dijalankan, apabila cmdTambah kita klik maka script tersebut diatas akan menambahkan satu record kosong pada Adodc1, begitu juga pada TDBGrid1.

G.     Mengupdate Record
Script untuk mengupdate record adalah Adodc_Name.Recordset.AddNew. Dalam contoh kasus ini maka kita gunakan script Adodc1.Recordset.Update pada event cmdSimpan_Click()

Private Sub cmdSimpan_Click()
Adodc1.Recordset.Update
End Sub

Sekarang jalankan script tersebut di atas, masukan beberapa record dengan cara meng-klik button Tambah, mengisikan record pada input box yang tersedia, lalu akhiri dengan klik button Simpan. Ulangi hingga beberapa record berhasil kita tambahkan didalamnya.
Gunakan MoveFirst, MoveNext, Move Previous dan MoveLast pada komponen Adodc1, atau bisa langsung klik pada salah satu record TDBGridnya untuk beralih record, amati dan perhatikan perubahan – perubahan pada form apabila record aktif kita pindah dari satu record ke record lainnya.

H.     Menghapus Record
Script untuk menghapus record adalah Adodc_Name.Recordset.Delete.

Private Sub cmdHapus_Click()
Adodc1.Recordset.Delete
End Sub

I.     Merefresh Adodc
Script untuk me-refresh data adalah Adodc_Name.Refresh.

Private Sub cmdRefresh_Click()
Adodc1.Recordsource = “select * from Table1”
Adodc1.Refresh
End Sub
J.     Menapiskan ( Filtering ) Data
Untuk penapisan dan pencarian record, ada beberapa string karakter yang biasanya penulis gunakan, antara lain :
1.      kunci_penapisan = Text1.Text : artinya bahwa yang penulis cari adalah record yang absolute atau sama persis seperti isi Text1
2.      kunci_penapisan = Text1.Text & “%” : fungsi “%” di atas adalah mewakili karakter tertentu ( unknown character ).
Bisa kita tempatkan di awal, belakang maupun keduanya. Tanda “%” disini fungsinya hamper sama seperti tanda asterisk ( * ) dalam mode pencarian file / folder di OS Windows.
Berikut adalah salah satu contoh untuk mencari record – record dalam database pada field nama yang isinya mengandung sejumlah karakter sesuai yang kita masukan didalamnya.

Private Sub cmdCari_Click()
id = InputBox("Masukan keyword")
kunci_penapisan = "%" + id + "%"
qwery = " select * from table1 where nama like '" & kunci_penapisan & "' "
Adodc1.RecordSource = qwery
Adodc1.Refresh
End Sub

Dari script tersebut di atas, apabila dijalankan semisal dalam keyword yang tersedia kita masukan karakter “ as “, maka semua nama yang mengandung karakter “ as “ akan diambil. Misalnya : Aswin, Ilyas, atau Basuki

K.    Catatan
Ada beberapa error command yang seringkali terjadi ketika mengeksekusi script - script diatas, antara lain :
 
1.       kondisi record pertama yang sudah tertambahkan belum kita simpan / update, akan tetapi sudah kita perintah lagi dengan script menambahkan record baru. Untuk mengatasi kondisi seperti itu dapat kita gunakan perangkap kesalahan, On Error Resume Next pada event klik cmdTambah di atas.
2.      ketika kondisi Adodc1 tidak terdapat record di dalamnya ( BOF = True ), akan tetapi sudah kita eksekusikan perintah update atau delete. Tambahkan penanganan berikut :
Private Sub cmdSimpan_Click()
If Adodc1.Recordset.BOF = True Then
Msgbox”Record pada table masih kosong”
Else
Adodc1.Recordset.Update
End If
End Sub

Demikian juga untuk script hapus datanya
3.      mengeksekusi perintah tambah record, sementara input box masih kosong, tetapi kita mengeksekusikan perintah simpan atau delete.
            Kondisi seperti ini bisa kita tangani dengan cara memeriksa input box sudah terisi atau belum.
            Misalnya saja dengan menambahkan script If NIP.Text = Empty or Nama.Text = Empty then
        Exit Sub pada baris pertama atau lainnya

                        Mengenal komponen TrueDBGrid

Kalau pada contoh di atas kita menggunakan object input data berupa TextBox dan DataCombo untuk mengentri data ke dalam database, maka pada bahasan ini kita akan menggunakan object TDBGrid untuk berinteraksi dengan database.
1.      Sebelum kembali pada Visual Basic, bukalah kembali program aplikasi database anda, masukan sebuah tabel baru, beri nama Table2, didalamnya buat 2 buah field yaitu Agama dan Status. Lalu simpan dan tutup aplikasi database tersebut untuk kembali masuk pada aplikasi Visual Basic.
2.      Buat sebuah form baru biarkan namanya tetap Form2, masukan object Adodc dalam Form2 tersebut, beri nama Adodc2.
Pengaturannya tetap sama seperti pada latihan pertama, bedanya hanya pada tab Recordsource kita isi seperti gambar di bawah ini :

1.       Masukan object TDBGrid kedalam Form2, biarkan namanya tetap TDBGrid1
Untuk pengaturan properties pada TDBGrid1 ini antara lain yang perlu dilakukan adalah :
·        AllowAddnew, AllowArrow, AllowUpdate dan AllowDelete semuanya kita set True
·        DataSource kita link ke Adodc yang ada yaitu Adodc2
·        Properties lainnya dapat anda biarkan defaultnya, atau bisa juga anda atur sesuai keinginan.

4.      Coba jalankan project ( jangan lupa jadikan Form2 ini sebagai startupnya, ProjectProject1 PropertiesGeneralStartup Project dan pilih Form2 ).
·        Untuk menambahkan data, kita dapat langsung menuliskannya dalam record TDBGrid.
·        Untuk menghapus row, kita seleksi row tersebut ( arahkan mouse pada samping kiri TDBGrid hingga mouse icon berbentuk panah menyamping “ è “ ), lalu tekan tombol Delete pada keyboard.
·        Untuk berpindah record, anda dapat menggunakan up down left right pada keyboard, atau tombol pada Adodc sumbernya, atau langsung menggunakan klik mouse pada row yang diinginkan.
·        Untuk script pada Form2 ini dapat anda biarkan kosong. Artinya kita berhasil membuat koneksi dengan database serta memanipulasi data yang ada di dalamnya tanpa menggunakan script sama sekali.

5.      Untuk mengerti lebih lanjut tentang TDBGrid yang ini, langsung saja anda jump ke file C:/TDBG/tdbg6.hlp apabila anda menginstallnya pada default direktori program ini.

Terakhir, karena yang bisa penulis sampaikan di sini hanyalah sebatas kulitnya saja, maka semoga yang sedikit ini dapat bermanfaat bagi semua, selamat bereksplorasi dengan file help-nya Apex True DBGrid jika anda ingin lebih jauh lagi memahami Adodc dan TDBGrid ini. Terima kasih.


Tidak ada komentar:

Posting Komentar