activex data object (ado) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• untuk...

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

Upload: trinhcong

Post on 23-May-2019

233 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

ActiveX Data Object (ADO)

Oleh :

Edi Sugiarto, S.Kom, M.Kom

Page 2: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 3: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 4: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 5: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

• Objek ADO Antaralain :

• Connection

• Command

• Recordset

• Record

• Stream

• Parameter

• Field

• Property

• Error

Page 6: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Bagaimana Cara Kerja ADO?

• Membuat Koneksi ke Database

• Menjalankan Perintah

• Mengambil dan Memanipulasi Data

Page 7: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 8: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Objek Connection pada ADO

Dim conn As New ADODB.Connection

• Properties dan fungsi yang sering digunakan :

– ConnectionString

– CursorLocation

– Open

– BeginTrans

– CommitTrans

– Execute

Page 9: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 10: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

• 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

Page 11: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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)

Page 12: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

• 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

Page 13: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Objek Command pada ADO

Dim command As New ADODB.command

• Properties dan Fungsi yang sering digunakan :

– ActiveConnection

– CommandText

– CommandType

– CreateParameter

– Executer, dll.

Page 14: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 15: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 16: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 17: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 18: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 19: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Ada Pertanyaan ?

Page 20: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Objek Utama ADO

Page 21: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 22: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan
Page 23: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 24: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 25: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 26: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 27: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 28: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 29: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 30: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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”

Page 31: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Membuka dan Menutupkoneksi

• Untuk membuka koneksi maka gunakan

metode open

conn.open

• Untuk membuka koneksi gunakan metode

close

conn.close

Set conn = nothing

Page 32: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 33: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 34: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 35: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 36: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 37: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 38: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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.

Page 39: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 40: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 41: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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

Page 42: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Ada Pertanyaan ?

Page 43: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

Terima kasih

Page 44: ActiveX Data Object (ADO) - dinus.ac.iddinus.ac.id/repository/docs/ajar/file_2013-06-21...• Untuk membuat koneksi kita perlu memberitahu pada ... – Pemanggilan tabel – Pernyataan

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