activex data object (ado) -...

44
ActiveX Data Object (ADO) Oleh : Edi Sugiarto, S.Kom, M.Kom

Upload: tranduong

Post on 05-Apr-2018

257 views

Category:

Documents


5 download

TRANSCRIPT

ActiveX Data Object (ADO)

Oleh :

Edi Sugiarto, S.Kom, M.Kom

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

• Pada akhirnya ADO menggantikan DAO dan

RDO yang merupakan teknologi akses data

sebelumnya.

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.

• Diperkenalkan pertama kali pada 1996

• 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

– Parameters : objek dapat memiliki beberapa

parameter perintah untuk mengubah perilakunya

– Error : digunakan untuk menangani kesalahan.

• Objek ADO Antaralain :

• Connection

• Command

• Recordset

• Record

• Stream

• Parameter

• Field

• Property

• Error

Bagaimana Cara Kerja ADO?

• Membuat Koneksi ke Database

• Menjalankan Perintah

• Mengambil dan Memanipulasi Data

Membuat Koneksi keDatabase

• 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

password

Objek Connection pada ADO

Dim conn As New ADODB.Connection

• Properties dan fungsi yang sering digunakan :

– ConnectionString

– CursorLocation

– Open

– BeginTrans

– CommitTrans

– Execute

Contoh menggunakan ObjekConnection

• 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

End Sub

• 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

Contoh menggunakan ObjekConnection

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

– Atau pemanggilan prosedur tersimpan (Store

Procedure)

• 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

– CommandText : berisi berupa pernyataan SQL

– CommandType : menyatakan jenis/tipe perintah

– Execute : menjalankan pernyataan

Objek Command pada ADO

Dim command As New ADODB.command

• Properties dan Fungsi yang sering digunakan :

– ActiveConnection

– CommandText

– CommandType

– CreateParameter

– Executer, dll.

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

Contoh menggunakan ObjekCommand

Mengambildan 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

dihasilkan dari satu atau lebih tabel, cursor

merupakan informasi mentah yang diberikan

DBMS dan berada pada server.

• 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

berlangsung melalui objek recordset.

Objek Recordset pada ADO

Dim rs As New ADODB.Recordset

• Properties dan Fungsi yang sering digunakan :

– Open

– ActiveConnection

– AddNew

– Find

– CursorLocation

– CursorType

– MoveNext, MovePrev, MoveLast, MoveFirst.

Contoh Menggunakan ObjekRecordset

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

End Sub

Ada Pertanyaan ?

Objek Utama ADO

Objek Utama ADO

• ActiveX Data Objek memiliki tiga Objek

Utama untuk mendukung kemampuan akses

data.

• Tiga objek tersebut antaralain :

– Objek Connection

– Objek Command, dan

– Objek Recordset

Objek Connection

• Berfungsi untuk melakukan koneksi ke

database.

• Selain berfungsi membuat dan menutup

koneksi pada database, objek Connection

dapat menjalankan perintah pada database dan

mengambil Recordset

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

dipisahkan oleh titik koma.

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:

Driver={Microsoft ODBC for Oracle}; Server=<server>

Uid=<user>; Pwd=<password>;

• 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>;

Database=<database>; Uid=<user>;Pwd=<password>;

• 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>;

Pwd=<password>;

• 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)};

Dbq=c:\<path>\mydb.mdb; Uid=<user>;Pwd=<password>;

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

sangat sederhana.

Contoh Koneksiberbasis DSN

• Koneksi string menggunakan dsn cukup

dengan menyertakan dsn dan dilanjutkan nama

dari dsn yang telah dibuat.

dsn=<nama dsn>

Contoh

Conn.open “dsn=toko_buku”

Membuka dan Menutupkoneksi

• Untuk membuka koneksi maka gunakan

metode open

conn.open

• Untuk membuka koneksi gunakan metode

close

conn.close

Set conn = nothing

Objek Command

• Bertugas membawa informasi mengenai

perintah-perintah yang akan dikerjakan

• Perintah dapat berupa nama tabel, pernyataan

SQL, atau prosedur tersimpan (Store

Procedure)

• Perintah tersebut ditentukan oleh properti

CommandText

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

– adCmdUknown : perintah tidak dikenali, DBMS akan menebak

dan menjalankan.

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

– adStateFetching : membaca baris

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

download ke client.

Jenis Cursor pada ObjekRecordset

• ADO mendukung empat jenis cursor, dan kita

dapat menentukan jenis cursor yang diinginkan

dengan menentukan nilai dari properties

CursorType

• Cursor tersebut antaralain :

– adOpenForwardOnly

– adOpenKeyset

– adOpenDynamic

– adOpenStatic

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

• Cocok jika digunakan pada pembacaan record

tabel dan bukan untuk operasi penyisipan atau

pencarian

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

• Tidak memperhatikan perubahan terakhir dari

data sumber.

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

• Dapat melihat baris ke semua arah

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

• Jika terjadi perubahan data maka kunci untuk

baris terbaru disisipkan ke dalam cursor

Lokasi Cursor pada ObjekRecordset

• 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

– adUseServer : membuka cursor pada server

Ada Pertanyaan ?

Terima kasih

Daftar Pustaka

• Greg Perry (2000), “Sams Teach Yourself Visual Basic 6 in 21

Days, Professional Reference Edition”, Macmillan Computer

Publishing, ISBN: 0672315424.

• Francesco Balena (1999),”Programming Microsoft Visual

Basic 6.0”, Microsoft Press, ISBN : 0-7356-0558-0