ActiveX Data Object (ADO) By: U. Abd. Rohim Website : http://www.abdrohim.com mailto : 4/4/2005 1 ADO Memungkinkan aplikasi untuk mengakses dan memanipulasi database melalui ADODB ADO mendukung pengembangan aplikasi ClientServer (aplikasi n-tier) dan aplikasi berbasis Web Model ADO mendefinisikan koleksi dari objek yang mendukung konsep Component Object Model (COM) dan OLE (Object Linking and Embedding). model ini disebut sebagai teknologi OLE DB Pada VB untuk mengakses ADO buat referensi dengan menu Project Refferences dan ceklist Microsoft ActiveX data Objects 2.0 Liblary ADO 2 1
Model ADO Connection Memungkinkan terjadinya pertukaran data antara VB dan dataserver Command berisi instruksi SQL Parameter Berisi parameter yang berkaiatan dengan instruksi SQL Recordset Digunakan untuk proses navigasi dan manipulasi data Field, Error, Connection Error Command Parameters Connection Fields ADO 3 MembukaConnection Nama Provider/Driver Nama Server Nama Database User ID dan Password Keberhasilan Connection dinyatakan dalam properti State; State = 1 (Connection OK) State = 0 (Connection Failed) ADO 4 2
ContohConnection Dim conn as ADODB.Connection Set Conn = NEW ADODB.Connection conn.provider = "SQLOLEDB" conn.connectionstring = "SERVER=SERVER_DATA; UID=sa; PWD=xx; DATABASE=Northwind" conn.commandtimeout = 30 conn.open If Conn.State=1 then MsgBox Connection OK Else MsgBox Connection Failed End if ADO 5 EksekusiInstruksiSQL ADO digunakan untuk mengakses ke database untuk proses; pencarian, editing, updating, insert dan manipulasi lainnya Instruksi SQL dapat diberikan lewat layer: Connection, Command dan Recordset Object Command ActiveConnection CommandText CommandType adcmdtext, adcmdtable, adcmdtabledirect, adcmdstoreproc, adcmdunknown, adcmdfile Execute ADO 6 3
ContohCommand Dim conn As ADODB.Connection Dim cmd As ADODB.Command Dim rs As ADODB.Recordset Set conn = New ADODB.Connection Set cmd = New ADODB.Command Set rs = New ADODB.Recordset conn.provider = "SQLOLEDB" conn.connectionstring = "SERVER=SERVER_DATA; UID=sa; PWD=ar; DATABASE=Northwind" conn.commandtimeout = 30 conn.open cmd.activeconnection = conn cmd.commandtext = "Select * From Customers" cmd.commandtype = adcmdtext Set rs = cmd.execute ADO 7 RecordSet (1) RecordSet merepresentasikan kumpulan record yang dihasilkan oleh uery pada suatu database Cursor menujukan satu record yang berada dalam sebuah RecordSet Metoda RecordSet.Open (parameter) cmdsql strconnect CursorType LockType cmdtype ADO 8 4
RecordSet (2) CursorType adopenforwardonly (default) adopendynamic adopenkeyset adopenstatic TypeLock adlockreadonly (default) adlockpessimistic adlockoptimistic adlockbatchoptimistic ADO 9 RecordSet (3) Navigasi MoveFirst, MoveNext, MovePrevious, MoveLast, EOF, BOF Manipulasi Data AddNew, Update, Delete, CancelUpdate Akses Field recordset!namafield, recordset.fields(n), recordset.fields(n).value, recordset.fields(namafiled ) ADO 10 5
Contoh RecordSet Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Dim strsl As String Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.provider = "SQLOLEDB" conn.connectionstring = "SERVER=SERVER_DATA; UID=sa; PWD=ar; DATABASE=Northwind" conn.open strsl = "Select * From Customers" rs.open strsl, conn, adopenstatic, adlockoptimistic rs.movefirst Do While Not rs.eof 'lakukan sesuatu proses rs.movenext Loop ADO 11 6