• Tidak ada hasil yang ditemukan

OLEDB dan ADO

Dalam dokumen Belajar Sendiri VB 6 (Halaman 38-42)

OLE DB adalah set interface yang menyediakan aplikasi seragam dalam mengakses data yang disimpan di sumber informasi yang berlainan tanpa tergantung pada lokasi maupun tipe. Umumnya, OLE DB cenderung mempermudah aplikasi-aplikasi dalam mengakses data yang tersimpan pada DBMS (Database Management System) dan sumber-sumber informasi lainnya. Sumber-sumber DBMS antara lain:

1. Mainframe Database seperti IMS dan DB2 2. Server Database seperti Oracle dan SQL Server

3. Desktop Database seperti Access, Paradox dan Foxpro Sumber-sumber lain antara lain:

Informasi yang tersimpan pada file system untuk Windows NT atau UNIX File Indexed-sequential, Sistem Email seperti Exchange, Spreadsheets, tool project management, dan sumber-sumber lainnya.

Biasanya aplikasi yang berbasis ADO menggunakan operasi-operasi untuk mengakses data sourcenya dengan cara sebagai berikut :

1. Create the Connection Object, Menggunakan connection string tertentu yang mengandung informasi seperti nama data source, identifikasi user dan passwordnya.

2. Open the Connection, Membuka connection ADO ke data sourcenya.

3. Execute an SQL statement, Begitu connectionnya terhubung, maka selanjutnya adalah menjalankan suatu query, yaitu tabel(-tabel) yang akan dibuka.

4. Use the records returned from the query, Sekarang record-recordnya siap untuk dibrowse maupun diupdate. Kita dapat menambahkan, mengupdate, menghapus data pada recordset tergantung dari tipe cursornya. Cursor adalah tabel temporari pada memori yang mengandung hasil dari query kita sebelumnya.

5. Terminate the connection, Koneksi ke data source diputuskan.

Berikut adalah perbedaan connection string untuk setiap jenis OLEDB Provider:

OLEDB Provider Connection String

Microsoft Jet (Access)

“Provider = Microsoft.Jet.Oledb.4.0; Data Source = namadb.mdb”

Ms ODBC Driver

“Provider=MSDASQL.1;UID=admin; Extended Properties=”DBQ=c:\Program files\Microsoft Visual Studio\VB98\NWIND.MDB;FIL=MS Access;”

Oracle “Provider = MSDAORA; Data Source =

NmServer;UserID = Stefan; Password = 123456” SQL Server

“Provider=SQLOLEDB.1;Persist Security

Info=False;User ID=sa;Initial Catalog=Proyek;Data Source=Stefan”

Tabel di bawah ini menggambarkan event-event yang berhubungan dengan objek connection:

Event Keterangan

AbortTransaction Terjadi setelah method RollbackTrans dipanggil. BeginTransaction Terjadi setelah method BeginTrans dipanggil. CommitTransaction Terjadi setelah method CommitTrans dipanggil. ConnectComplete Terjadi saat koneksi yang dicoba berhasil, gagal, atau

timed out.

Disconnect Terjadi saat sebuah koneksi yang aktif ditutup. ExecuteComplex Terjadi setelah method Execute dipanggil.

Info Message Terjadi saat message dikembalikan dari OLE DB atau data source.

WillConnect Terjadi setelah method Open dipanggil, tetapi sebelum koneksi dibuat.

WillExecute Terjadi setelah method Execute dipanggil, tetapi sebelum perintah selesai.

Untuk menggunakan teknologi ini maka seseorang harus melakukan setting terlebih dahulu. Berikut ini adalah aturan penggunaan dari ADO.

1. Pilih menu Project 2. Pilih References

3. Pilih Microsoft ActiveX Data Objects 2.x Library

Kita juga bisa menggunakan ADO Control, caranya adalah: 1. Pilih menu Project

2. Pilih Component

3. Pilih Microsoft ADO Data Control 6.0 (OLE DB)

Secara umum, setiap database dibuka dengan method Open:

Object.Open Source, ActiveConnection, CursorType, LockType,

Options

Source berisi perintah untuk mengakses data dalam database.

ActiveConnection berisi sumber data dari source. Yaitu koneksi ke file database.

Argument Description

Data Source

Argumen ini menentukan nama data source untuk koneksi. Bersifat optional saat dipakai dengan OLE DB Provider untuk AS/400 & VSAM atau OLE Provider untuk DB2. File Name Argumen ini menentukan nama file provider specifik yang

berisi info preset koneksi. Argument ini tak bisa dipakai jika argumen Provider dilewati. Tak didukung oleh OLE DB Provider untuk AS/400 & VSAM.

Location Argumen ini menentukan nama Remote Database yang digunakan untuk koneksi ke sistem OS/400. Parameter ini

bersifat optional untuk koneksi ke sistem mainframe.

Password Argumen ini menentukan validitas password mainframe atau AS/400 saat membuka koneksi. Password ini dipakai oleh Microsoft® SNA Server untuk validasi user yang log on ke sistem host tujuan dan memiliki hak akses file yang sesuai. Provider Argument ini menentukan nama provider yang dipakai

koneksi. Pada OLE DB Provider untuk AS/400 & VSAM, string Provider harus di set "SNAOLEDB". Pada OLE DB Provider untuk DB2, string Provider harus di set menjadi "DB2OLEDB". Pada ODBC Driver untuk DB2, Provider di set "MSDASQL" atau tak dipakai sebagai bagian dari ConnectionString sejak nilai ini di default untuk ADO. Remote

Provider

Argumen ini menentukan nama provider untuk dipakai saat membuka koneksi client-side (hanya untuk layanan Remote data). Tidak didukung oleh OLE DB Provider untuk AS/400 & VSAM maupun OLE DB Provider untuk DB2.

Remote Server

Argumen ini menentukan nama path server yang dipakai saat membuka koneksi client-side (hanya untuk layanan Remote Data). Tidak didukung oleh OLE DB Provider untuk AS/400 & VSAM maupun OLE DB Provider untuk DB2. User ID Argumen ini menentukan nama user yang valid pada

mainframe atau AS/400 saat membuka koneksi. Nama user ini dipakai oleh SNA Server untuk validasi user apakah dapat log on ke sistem tujuan dan memiliki hak akses file.

CursorType menset nilai CursorTypeEnum yang menenetukan tipe kursor yang

digunakan saat membuka Recordset.

Enumeration Value Description

adOpenUnspecified -1 Mengindikasikan nilai unspecified untuk

CursorType. Nilai ini tak didukung pada

OLE DB Provider untuk AS/400 & VSAM. adOpenForwardOnly 0 Bila nilai ini diset maka kursor / pointer

record hanya bisa maju dan tidak dapat kembali ke record sebelumnya. Pada OLE DB Provider untuk AS/400 & VSAM cursor ini dipetakan ke adOpenDynamic. adOpenKeyset 1 Membuka database dengan pemberian

lock pada user. Jika seorang user sedang mengupdate maka user lain tidak dapat mengupdate dan harus menunggu sampai user itu selesai. User dapat melihat perubahan data tapi tidak dapat melihat penambahan data. Nilai ini tak didukung pada OLE DB Provider untuk AS/400 & VSAM.

adOpenDynamic 2 Dengan cursor ini, penambahan,

perubahan, dan penghapusan data oleh user lain akan terlihat oleh user lain, dan semua tipe pergerakan yang melalui recordset diperbolehkan, kecuali bookmark jika providernya tak

mendukung. User juga dapat melakukan perubahan terhadap data pada waktu yang bersamaan. Ini adalah CursorType satu-satunya yag didukung oleh OLE DB Provider untuk AS/400 & VSAM.

adOpenStatic 3 Jika ada user yang mengupdate data maka user lain tidak dapat melihat

perubahan data. User lain juga tak dapat mengubah data tersebut pada waktu yang sama. Nilai ini tak didukung pada OLE DB Provider untuk AS/400 & VSAM.

LockType menset nilai LockTypeEnum untuk mengatur concurrency saat

membuka recordset. Secara default di set adLockReadOnly

Enumeration Value Description

adLockUnspecified -1 Set nilai unspecified untuk LockType. Nilai ini tak didukung pada OLE DB Provider untuk AS/400 & VSAM. adLockReadOnly 1 Membuka Recordset object dengan

atribut read-only dan data tak dapat diubah.

adLockPessimistic 2 Membuka recordset dengan

pessimistic locking. Record-by-record, OLE DB Provider melakukan apa yang penting untuk memastikan berhasilnya editing pada records, biasanya dengan mengunci records pada data source dengan segera ketika editing.

adLockOptimistic 3 Membuka recordset dengan optimistic locking. Record-by-record, OLE DB Provider hanya mengunci records saat Update dilakukan.

adLockBatchOptimistic 4 Membuka Recordset dengan batch optimistic locking. Data yang diupdate disimpan dalam bentuk batch

kemudian diupdate sekaligus dengan perintah UpdateBatch.

Options menset nilai CommandTypeEnum yang mengindikasi bagaimana

provider mengevaluasi parameter Source.

Enumeration Value Description

adCmdUnspecified -1 Mengindikasikan bahwa properti CommandText tak ditentukan. Nilai ini tak didukung pada OLE DB Provider untuk AS/400 & VSAM.

adCmdText 1 Evaluasi properti CommandText sebagai defenisi tekstual dari perintah atau stored procedure call.

adCmdTable 2 Evaluasi properti CommandText sebagai nama tabel. Nilai ini tak

didukung pada OLE DB Provider untuk AS/400 & VSAM.

adCmdStoredProc 4 Evaluasi properti CommandText

sebagai nama stored procedure. Nilai ini tak didukung pada OLE DB Provider untuk AS/400 & VSAM.

adCmdUnknown 8 Mengindikasikan bahwa tipe perintah dalam properti CommandText tidak diketahui. Ini adalah nilai default. Nilai ini tak didukung pada OLE DB Provider untuk AS/400 & VSAM.

Berikut adalah contoh sederhana koneksi ke database access.

Buka Vb anda dan pilih Standard exe. Tambahkan komponen Microsoft DataGrid Control 6.0 (Ole DB) dan reference ke Microsoft ActiveX Data Objects 2.x Library. Kemudian pada code window ketikkan kode berikut:

Private Sub Form_Load()

Dim db As Connection, rsProduct As Recordset Set db = New Connection

db.CursorLocation = adUseClient

db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0; Data " & _ "Source = C:\Program Files\Microsoft Visual" & _ " Studio\VB98\NWIND.MDB;"

Set rsProduct = New Recordset

rsProduct.Open "SELECT ProductName,QuantityPerUnit," & _ "UnitPrice from Products", db, 1, 3

Set DataGrid1.DataSource = rsProduct End Sub

Untuk manipulasi dapat digunakan method .AddNew, .Delete, .Update, dll Sedangkan untuk menggeser pointer record, kita menggunakan method-method seperti .MoveFirst, .Move Last, .MoveNext, dan MovePrevious.

Dalam dokumen Belajar Sendiri VB 6 (Halaman 38-42)

Dokumen terkait