ActiveX Data Object (ADO)
Oleh :
Pendahuluan
• ActiveX Data Object merupakan komponen standar microsoft untuk akses data.
• ADO dapat digunakan untuk mengakses berbagai sumber data, termasuk seperti ms access dan sql server, serta database non microsoft seperti oracle, sybase, mysql
Apa Itu ADO ?
• ADO merupakan antarmuka pemrograman tingkat tinggi untuk OLE DB.
• ADO menggunakan hirarki Objek Model untuk memungkinkan aplikasi membuat,
menerima, mengubah, dan menghapus data
dari sumber data yang didukung oleh OLE DB. • ADO berisi serangkaian Objek COM berbasis
hirarki dan koleksi.
• ADO terdiri dari 9 objek dan 4 koleksi. • Koleksi ADO antara lain :
– Fields : berisi kumpulan field objek
– Properties : merupakan perangkat yang digunakan untuk pembeda antar objek
Bagaimana Cara Kerja ADO?
• Membuat Koneksi ke Database • Menjalankan Perintah
Membuat Koneksi ke
Database
• ADO membuat koneksi ke database menggunakan objek Connection
• Objek Connection menjadi pintu gerbang ke dalam database sehingga semua operasi yang dilakukan pada database harus melalui objek Connection ini.
• Untuk membuat koneksi kita perlu memberitahu pada ADO tentang informasi database mana yang akan di akses berikut attribut yang lain termasuk user dan
Objek Connection pada ADO
Dim conn As New ADODB.Connection
• Properties dan fungsi yang sering digunakan : – ConnectionString
– CursorLocation – Open
Contoh menggunakan Objek
Connection
• Contoh koneksi menggunakan OLE DB
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Set conn = New ADODB.Connection
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist
Security Info=False; User ID=sa; Password=sa; Initial Catalog=APLBISNIS_GENAP2010;Data Source=ENIGMA"
conn.Open
• Contoh koneksi menggunakan ODBC DSN
Private Sub Form_Load()
Dim conn As New ADODB.Connection
Set conn = New ADODB.Connection
conn.ConnectionString = "dsn=pa_genap2010"
conn.Open
End Sub
Menjalankan Perintah
• Setelah ADO membuka koneksi maka kita dapat menentukan satu atau lebih perintah
melalui ADO tersebut terhadap suatu database. • Perintah-perintah terbebut dapat berupa
– Pemanggilan tabel – Pernyataan SQL
• Kita dapat menyiapkan perintah yang akan dijalankan pada objek Command
• Beberapa properties yang sering digunakan pada objek Command
– Active Connection : untuk menentukan sebuah objek Connection
Objek Command pada ADO
Dim command As New ADODB.command
• Properties dan Fungsi yang sering digunakan : – ActiveConnection
Private Sub cmdSimpan_Click()
Dim command As New ADODB.command
Set command = New ADODB.command
command.ActiveConnection = conn
command.CommandType = adCmdText
command.CommandText = "insert into pa_pelanggan " _ & "(kode, nama, alamat) values ('PL008‘ " _
& ",'BP. LUTFI ARIF','JL. PEMUDA NO 5 SEMARANG')"
command.Execute
End Sub
Mengambil
dan Memanipulasi Data
• Record-record yang dihasilkan pernyataan
SQL direpresentasikan oleh sebuah objek yang dikenal dengan istilah Cursor atau Recordset
(pada ADO)
• Cursor adalah sekumpulan baris yang
• Recordset adalah sebuah objek ADO yang menyimpan baris-baris yang dihasilkan dari pernyataan SQL,
• Objek recordset juga dapat berada pada client atau pada server
• Objek recordset menjadi inti dari
pemrograman database karena sebagian besar operasi yang anda lakukan pada database
Objek Recordset pada ADO
Dim rs As New ADODB.Recordset
• Properties dan Fungsi yang sering digunakan : – Open
Contoh Menggunakan Objek
Recordset
Private Sub cmdCari_Click()
Dim rs As New ADODB.Recordset
Set rs = conn.Execute("select * from pa_pelanggan " _
& " where kode='PL008'")
If Not rs.EOF Then
MsgBox "Pelanggan dengan nama " & rs!nama & " ditemukan"
End If
Objek Utama ADO
• ActiveX Data Objek memiliki tiga Objek
Utama untuk mendukung kemampuan akses data.
• Tiga objek tersebut antaralain : – Objek Connection
Objek Connection
• Berfungsi untuk melakukan koneksi ke database.
• Selain berfungsi membuat dan menutup koneksi pada database, objek Connection
Menggunakan ConnectionString
• Object Connection memiliki properties yg paling penting yaknik ConnectionString.
• Properties ConnectionString digunakan untuk menentukan database mana yang akan di
hubungkan
• ConnectionString merupakan sebuah string panjang dengan beberapa atribut yang
Contoh ConnectionString
• Koneksi ke Oracle database dengan OLEDB:
Provider=OraOLEDB.Oracle.1;Password=<passwd>;Persist Security Info=True; User ID=<user>; Data
Source=<database>;
• Koneksi ke Oracle database dengan ODBC:
• Koneksi ke SQL Server database dengan OLEDB:
Provider=SQLOLEDB.1;Password=<user>;Persist Security Info=True;User ID=<user>;Initial Catalog=<database>;Data Source=(local);
• Koneksi ke SQL Server database dengan ODBC:
Driver={SQL Server};Server=<server>;
• Koneksi ke Mysql database dengan OLEDB:
Provider=MySQLProv; Data Source= <database>; User Id=<user>; Password=<pasword>;
• Koneksi ke Mysql database dengan ODBC:
Driver={mySQL ODBC 3.51 Driver}; Server=<server>; Port=3306; Database=<database>; Uid=<user>;
• Koneksi ke MS Access Database dengan OLEDB:
Provider=Microsoft.Jet.OLEDB.4.0; Data Source= c:\<path>\myDb.mdb; User Id=<user>;
Password=<password>
• Koneksi ke MS Access Database dengan ODBC:
Driver={Microsoft Access Driver (*.mdb)};
Koneksi Berbasis DSN
• DSN merupakan struktur data spesifik yang berisi informasi tentang sumber data tertentu yang dikenal oleh komputer.
• DSN hanya menggambarkan nama dari
kumpulan pengaturan yang ada pada ODBC. • Dengan DSN maka ConnectionString menjadi
Contoh Koneksi
berbasis DSN
• Koneksi string menggunakan dsn cukup
dengan menyertakan dsn dan dilanjutkan nama dari dsn yang telah dibuat.
dsn=<nama dsn> Contoh
Membuka dan Menutup
koneksi
• Untuk membuka koneksi maka gunakan metode open
conn.open
• Untuk membuka koneksi gunakan metode close
conn.close
Objek Command
• Bertugas membawa informasi mengenai perintah-perintah yang akan dikerjakan
• Perintah dapat berupa nama tabel, pernyataan SQL, atau prosedur tersimpan (Store
Procedure)
Properties CommandType
• Objek Command memiliki properties CommandType yang digunakan untuk
menentukan tipe perintah yang dikerjakan antaralain :
– adCmdText : Pernyataan SQL
– adCmdStoredProc : Store Procedure
– adCmdTable : Perintah SQL yang Menyatakan Nama Tabel – adCmdTableDirect : Perintah menggunakan nama tabel
langsung
Status pada Objek Command
• Objek Command memiliki properties State
yang digunakan untuk menentukan status saat ini dari perintah.
• Status tersebut antaralain: – adStateClosed : ditutup – adStateOpen : dibuka
– adStateExecuting : dijalankan
Objek Recordset
• merupakan objek yang dapat diprogram dimana cursor-cursor dsimpan.
• Dengan objek Recordset, kita dapat
memanipulasi baris-baris cursor, melihat field-fieldnya, serta meng-update tabel-tabel yang mendasarinya
• Objek Recordset dapat memilih lokasi cursor, apakah akan berada pada server atau di
Jenis Cursor pada Objek
Recordset
• ADO mendukung empat jenis cursor, dan kita dapat menentukan jenis cursor yang diinginkan dengan menentukan nilai dari properties
CursorType
• Cursor tersebut antaralain : – adOpenForwardOnly
Cursor Forward-Only
(adOpenForwardOnly)
• Merupakan Cursor default dari ADO • Hanya satu kali pembacaan baris
• Sederhana namun terbatas
• Tidak perlu menyimpan informasi mengenai baris yang telah dibaca
Cursor Statis (adOpenStatic)
• Lebih fleksibel namun lebih mahal dari cursor forward-only
• Dapat melihat baris ke semua arah
• Namun tidak dapat melihat modifikasi yang telah dibuat oleh user lain
Cursor Keyset
(adOpenKeyset)
• Dengan cursor keyset server tidak mengambil baris sesungguhnya dari database
• Server membuat daftar kunci pada baris-baris milik cursor dan menggunakan kunci tersebut untuk mengakses filed-field dari sumber data • Dapat melihat perubahan setiap kali user
berpindah ke baris lain cursor
Cursor Dinamis
(adOpenDynamic)
• Cursor paling dinamis dan paling mahal
• Serupa dengan keyset yakni tidak membaca baris-baris namun melalui pointer yang
menunjuk pada baris sesungguhnya
Lokasi Cursor pada Objek
Recordset
• Sebuah cursor dapat berada pada server
maupun pada client, dalam hal ini bergantung pada nilai properties CursorLocation.
• Konstanta untuk cursor location antaralain: – adUseClient : membuka cursor pada client
Daftar Pustaka
• Greg Perry (2000), “Sams Teach Yourself Visual Basic 6 in 21 Days, Professional Reference Edition”, Macmillan Computer Publishing, ISBN: 0672315424.