Anda di halaman 1dari 7

Koneksi ADO lewat pemrograman

Untuk membangun sebuah koneksi database dengan ADODC, dapat dilakukan dengan 2 cara. Cara yang pertama adalah dengan menggunakan wizard yang telah tersedia dari komponen ADO sendiri yang dapat diakses melalui sub menu properti. Cara yang kedua adalah murni dengan menggunakan program. Untuk membangun koneksi ADODC dengan menggunakan cara yang kedua, hal yang harus dilakukan adalah :
1. Deklarasikan

variabel koneksi untuk membangun koneksi antara komponen dengan database. Tipe variabel ini adalah new ADODB.Connection. ConnectionString untuk tiap jenis database akan berbeda bentuknya, tergantung dari tersedianya driver yang digunakan untuk melakukan
koneksi.

2. Bangun koneksi dengan menggunakan properti ConnectionString.

3. Buka koneksi dengan menggunakan properti Open

Berikut ini adalah contoh listing program untuk membangun koneksi database dengan ADO : Dim konek as new ADODB.Connection Konek.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; + _ Data Source = " + {nama database} + ; + _ Persist Security Info=False" Konek.Open Setelah koneksi terbangun, langkah selanjutnya adalah membuka tabel yang ada di dalam database. Sebelum proses pembukaan tabel dapat berlangsung, hal yang harus dilakukan terlebih dahulu adalah :
1. Deklarasikan variabel untuk menampung tabel yang dibuka. Tipe dari

variabel yang akan dipakai untuk menampung tabel adalah new ADODB.Recordset.
2. Set properti ActiveConnection dari tabel dengan variabel koneksi yang

telah dibangun sebelumnya.

3. Tentukan properti dari CursorT ype dengan nilai adOpenStatic (Cursor

merupakan elemen dari database yang digunakan untuk melakukan navigasi record dan update data yang terdapat dalam tabel). Perhatikan tabel berikut ini untuk melihat nilai dari properti CursorType. Nilai properti untuk CursorType Nilai adOpenDynamic Keterangan Tipe cursor ini akan menampilkan segala perubahan yang dilakukan oleh user lain seperti penambahan, pembaruan dan penghapusan data. Dan sekaligus mendukung berbagai model pergerakan cursor di dalam tabel serta tidak tergantung dari properti bookmarks atau ketergantungan terhadap bookmarks dapat dilakukan jika driver databasenya mendukung hal tersebut. Tipe cursor ini hanya menyediakan copy dari recordset / tabel yang digunakan. Sehingga proses yang cocok untuk tipe cursor seperti ini adalah proses pencarian data atau pembuatan laporan, karena proses penambahan, pembaruan dan penghapusan data yang dilakukan oleh user lain tidak akan ditampilkan. Selalu mendukung bookmarks dan berbagai model pergerakan cursor. Hanya tipe cursor ini yang dapat digunakan jika tipe CursorLocation diseting dengan nilai ClientSide. Tipe cursor ini perilakunya sama seperti adOpenDynamic, hanya saja cursor ini akan mencegah kita untuk melihat penambahan record yang dilakukan oleh user lain dan mencegah akses terhadap record yang dihapus oleh user lain. Tetapi perubahan terhadap data yang terjadi tetap dapat dilihat. Tipe cursor ini mendukung bookmarks dan berbagai model pergerakan cursor.

adOpenStatic

adOpenKeySet

4. Tentukan nilai properti dari CursorLocation dengan nilai adUseClient.

Perhatikan tabel CursorLocation.

berikut

ini

untuk

melihat

nilai

dari

properti

Nilai properti untuk CursorLocation Nilai adUseClient Keterangan Uses client-side cursors supplied by a local cursor library. Local cursor services often will allow many
2

adUseServer

features that driver-supplied cursors may not, so using this setting may provide an advantage with respect to features that will be enabled. Default. Uses data-provider or driver-supplied cursors. These cursors are sometimes very flexible and allow for additional sensitivity to changes others make to the data source.

5. Tentukan nilai properti dari LockT ype dengan nilai adLockOptimistic.

Perhatikan tabel berikut ini untuk melihat nilai dari properti LockType. Nilai properti dari Locktype Nilai adLockBatchOptimistic adLockOptimistic adLockPessimistic Keterangan Indicates optimistic batch updates. Required for batch update mode. Indicates optimistic locking, record by record. The provider uses optimistic locking, locking records only when you call the Update method. Indicates pessimistic locking, record by record. The provider does what is necessary to ensure successful editing of the records, usually by locking records at the data source immediately after editing. Indicates read-only records. You cannot alter the data.

adLockReadOnly

6. Tentukan nilai dari properti Source dengan nilai nama tabel atau

perintah SQL.
7. Langkah terakhir adalah mengaktifkan fungsi Open untuk membuka

tabel. Perhatikan contoh dibawah ini. Dim rsBarang as new ADODB.Recordset Dim konek as new ADODB.Connection Konek.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; + _ Data Source = " + {nama database} + ; + _ Persist Security Info=False" Konek.Open

With rsBarang .ActiveConnection = conn .CursorLocation = adUseClient .CursorType = adOpenStatic .LockType = adLockOptimistic .Source = "select * from beli order by nmrbeli" .Open End With Selain menggunakan cara diatas, proses membuka tabel dapat pula dilakukan dengan cara yang cukup sederhana dan hanya menggunakan satu baris perintah saja. Format perintahnya seperti berikut ini :
{var_tabel}.Open {tabel}, {var_koneksi}, {tipe kursor}, {tipe penguncian}

Contoh : rsBarang.Open barang, konek, adOpenDynamic, adLockOptimistic


Cat : untuk tabel, dapat diganti dengan perintah SQL.

Setelah proses membuka tabel dan melakukan manipulasi terhadap isi dari tabel, jika program sudah dianggap selesai maka koneksi dan tabel yang terbuka tersebut haruslah ditutup. Untuk melakukan proses penutupan cukup dengan memberikan perintah seperti berikut ini : Set rsBarang = Nothing koneksi.Close Letakan perintah tersebut pada event form unload / proses penutupan form.

Pemakaian DataList / DataCombo dengan 1 tabel


DataList ataupun DataCombo dapat digunakan untuk menampilkan data yang ada di tabel, dengan menggunakan komponen ADO, tanpa harus menggunakan program untuk mengisi data ke komponen tersebut. Sebagai contoh, kita memiliki sebuah tabel supplier yang memiliki field kdsup, nama, dan alamat. Tabel supplier akan berelasi dengan tabel faktur yang memiliki field nofak, tgl, kdbrg, kdsup, jml dan hrg. Dua tabel ini akan digunakan untuk mengisi data faktur pembelian barang yang berarti tabel supplier akan digunakan untuk menampilkan data supplier. Tentunya agar lebih mudah dalam pengisian faktur pembelian tersebut data supplier yang ditampilkan adalah nama dari suppliernya bukan kode supplier. Pada kasus

inilah komponen DataList / DataCombo dapat digunakan untuk mempercepat proses penampilan nama suppiler. Katakanlah untuk menampilkan nama supplier pada form pengisian faktur pembelian barang, komponen yang digunakan adalah DataList. Maka properti dari komponen tersebut yang harus diset agar nama dari supplier dapat tampil pada DataList adalah : 1. RowSource Isi properti ini dengan komponen ADO yang menampung tabel Supplier. 2. ListField Properti ini berguna untuk menampilkan isi field pada DataList / DataCombo. Isi properti ini dengan field yang akan ditampilkan pada DataList saat program dijalankan. Dalam hal ini berarti field nama 3. BoundColumn Isi properti ini dengan field yang menghubungkan tabel supplier dengan tabel lainnya, atau dengan kata lain isi dengan field kunci utama. Dalam hal ini berarti field kdsup. Proses yang terjadi pada komponen ini adalah, saat user memilih nama salah satu supplier dari daftar yang ada, maka akan muncul data lengkap supplier seperti kode supplier dan alamat supplier. Berarti, kita harus melakukan proses pencarian pada event click dari komponen DataList. Untuk itu ketikan program berikut ini pada event click untuk komponen DataList. Private Sub DataList1_Click() adoSupplier.Recordset.MoveFirst adoSupplier.Recordset.Find "kdsup='" + DataList1.BoundText + "'" Label1.Caption = adoSupplier.Recordset.Fields("Kdsup").Value Label2.Caption = adoSupplier.Recordset.Fields("Alamat").Value End Sub Pada potongan program diatas, terdapat satu properti lagi dari DataList yang harus diperhatikan, yaitu BoundText. Properti ini akan menampilkan isi field yang terdapat pada properti BoundColumn. Makanya pada potongan program diatas, properti yang dipakai untuk menerima input pencarian (dengan menggunakan metode find dari komponen ADO) adalah properti BoundText.

Untuk komponen DataCombo, properti yang harus di isi dan proses penggunaannya tidak jauh berbeda dengan komponen DataList. Yang membedakan DataCombo dan DataList hanyalah tampilannya saja.

Pemakaian DataList / DataCombo dengan 2 tabel


Untuk menghubungkan DataList / DataCombo dengan 2 tabel yang memiliki relasi, ada beberapa properti lagi yang harus diseting selain dari properti RowSource, ListField dan BoundColumn. Properti tersebut adalah : 1. DataSource Isi properti ini dengan komponen ADO yang memiliki relasi dengan komponen ADO yang lain. Sebagai contohnya, tabel supplier akan dihubungkan dengan tabel Faktur untuk melihat barang apa saja yang dibeli dari supplier tersebut. Berarti properti DataSource diisi dengan
komponen ADO yang menangani tabel faktur.

2. DataField Isi properti ini dengan field yang menjadi penghubung antara tabel faktur dengan tabel supplier. Atau dengan kata lain, isi properti ini dengan field kunci asing dari tabel faktur. Untuk contohnya, isi properti ini dengan field kdsup yang ada di tabel Faktur. Sampai disini, komponen DataList yang digunakan sudah siap untuk digunakan. Langkah selanjutnya adalah tambahkan komponen DataGrid agar apa yang dipilih dari DataList dapat terlihat hasilnya. Setelah ditambahkan, isi properti DataSource dari DataGrid dengan komponen ADO yang menangani tabel faktur. Kemudian langkah terakhir adalah menuliskan kode program pada event click sehingga saat user melakukan pemilihan dari daftar yang tampil, data yang tampil pada DataGrid benar-benar dapat berubah sesuai dengan pilihan user. Perhatikan kode program berikut ini.
Private Sub DataList1_Click() Dim sql As String sql = "select * from beli where kdsup = '" + DataList1.BoundText + "'" With adoFaktur .RecordSource = sql .Refresh End With With DataGrid1 .ClearFields .ReBind 6

.Columns("kdsup").Visible = False End With End Sub

Pada potongan program diatas, masih saja menggunakan proses pencarian agar data yang tampil di DataGrid dapat sesuai dengan apa yang telah dipilih oleh user. Hal yang perlu diperhatikan adalah proses pencariannya tidak lagi menggunakan metode Find tetapi menggunakan perintah SQL karena dengan perintah SQL, maka jangkauan pencarian dapat dilakukan dengan lebih leluasa dan lebih luas hasilnya.

Anda mungkin juga menyukai