MODUL 3 STRUKTUR DAO & ADO KONEKSI DATABASE ● Koneksi dengan DAO ● Koneksi denganI ADO ● OPEN DATABASE CONNECTIVITY (ODBC)
A. Koneksi dengan DAO (Data Access Object) #Koneksi DAO tdk dpt digunakan pd database yg dibuat dgn MySQL, SQL server, SYBase, Oracle dan sejenisnya, (atau database yg dibuat dgn versi yg lbh tinggi tdk dpt digunakan program dgn konsep DAO) #Konsep DAO hanya dpt digunakan pd database yg dibuat dgn visual data menager atau Ms Access. Karena system ini bekerja dgn mesin JET OLEDB versi 3.15 #Sedangkan database yang dibuat dgn versi lbh tinggi bekerja dgn Mesin JET OLEDB versi 4.0 #Dalam menggunakan koneksi DAO Antara Back End dan Front End. Yaitu : Menggunakan Object Data, seperti yg sdh sering kita dilakukan pd koneksi databse sebelumnya (minggu pertama) pd form Data Mahasiswa Dimana : a. Back End adalah file Database.MDB yg dibuat dgn Ms.Access melalui Visual Data Menager Sedangkan b. Front End adalah Interface database tsb yg dibuat pada Form VB.
B. Koneksi ADO (ActiveX Data Objects ) #Koneksi ADO, justru sebalinya dpt digunakan pd database yg dibuat dgn MySQL, SQL server, SYBase, Oracle dan sejenisnya, (atau database yg dibuat dgn versi yg lbh tinggi. Semuanya ini bisa menggunakan program konsep ADO) #Karena konsep ADO bekerja dgn Mesin JET OLEDB versi 4.0 lebih tinggi dari mesin JET OLEDB Konsep DAO #Dlm menggunakan koneksi ADO Antara Back End dan Front End. Yaitu : Menggunakan Object Adodc, object ini memang tidak terlihat pd ToolBox #Ada 3 Cara utk menampilkan Object Adodc pd ToolBox, salah satu nya : 1. Click menu Project | Components
1
2. Click Tombol Apply | OK Kemudian Object ADODC tampil pada ToolBox 3.Kemudian disain Pd Form Seperti terlihat dibwh ini :
4. Aktifkan object ADODC1, Click Kanan mouse | Click ADODC Properties akan tampil Property Page, | Click Tombol Build
Click di sini
5. Kemudian akan tampil Windows Data Link Properties, seperti dibwh ini :
2
6. Pada windows diatas, Pilih Ms.JET 4.0 OLEDB Provider | Click Next akan terlihat seperti dibwh ini :
Click di
7. Click Tombol … akan tampiL Windows Pemilihan File Database | Pilih Folder |
Pilih
File Database yaitu : TABELBRG | Click Open
3
8. Tampilan akan kembali ke Data Link Propertie | Click Test Connection
Click
Dan akan tampil MsgBox, yg Info nya : “Test Connection Succeeded | Click Ok Pada KotakInformasi tsb | dan Click Ok lagi pada Data Link Property
9. Tampilan akan kembali ke Windows Property Page
4
10. Pilih menu Tab RecordSource, Hasilnya seperti dibawah ini :
Dan Cilck Button DropDown Command Type | Pilih 2-AdCmdTable |
Kemudian Cilck Button DropDown Table Or Stored Procedure Name | Pilih salah satu table (Mis : Barang). Seperti Terlihat pd windows dibwh ini : Catatan : - ADODC tlh terhubung dgn Tabel Barang, yg berada pd file database TABELBRG - Pilihan 2-AdCmdTable Pada Command Type adlh utk Tabel Dan - Apabila menggunakan query maka Pada
Command Type
yg dipilih adlh 1-
AdCmdText
5
Pada tampilan ini Cilck Ok. Tampilan akan kembali ke Form. Kemudian disain form sesuai field2 yg terdpt pd record BARANG tsb. (Utk lbh jelasnya lihat fiedl2 recor Brg yg terdpt soal Latihan TATAPMUKA01)
Atur setting propertie object pada Form seperti berikut :
Objek
Properti
Pengaturan
Form1
Caption
KONEKSI ADO
Label1
Caption
KODE BRG
Font
Roman, Bold, 10
Caption
NAMA BRG
Font
Roman,Bold, 10
Caption
HRG SATUAN
Font
ROMAN, BOLD 10
Caption
STOCK BRG
DatabaseName
Roman,bold 10
Text
DataSource
Adodc1
DataField
Kdbrg
Text
DataSource
Adodc1
DataField
Nmbrg
Label2 Label3 Label4 Text1
Text2
6
Text3
Text4
Text
DataSource
Adodc1
DataField
Hrgsatuan
Text
DataSource
Adodc1
DataField
Stockbrg
Kemudian tambahkan tombol2 Command yg Dibutuhkan utk mengelola (maintenance) data RecBrg tsb. Yaitu : Objek
Properti
Pengaturan
Command1
Caption
Add
Name
CmdAdd
Caption
Edit
Name
CmdEdit
TooltipText
Click EDIT bila Mencari DATA
Caption
Refresh
Name
Cmdrefresh
Caption
Delete
Name
Cdmdelete
Caption
Cancel
Name
Cmdcancel
Caption
Exit
name
Cmdexit
Command1
Command3 Command4 Command5 Command6
Hasil dari Formnya seperti terlihat dibawah ini :
7
Aktifkan object Adodc1, setting /ubah Propertie EOFAcction menjadi 2-adDoAdNew Agar : Bila kita memasukan record kedalam table data agar dapat dilakukan dengan mengclick tanda panah kearah kanan pd object Adodc1, maka penunjuk/pointer data akan mencapai End Of File, VB 6.0 Otomatis akan menambah record baru. Kemudian buat kode / program pada masing-masing tombol pada Windows Code agar dpt dilaksanakan pada saat Runnng. Salah satunya Code pada Command6
Private Sub Command6_Click() End End Sub Jalankan aplikasi dengan menekan tombol F5 : Hasil :
Koneksi DAO, ADO tanpa Object Pada dasarnya, konsep DAO, ADO, DSN adalah sama dapat dilakukan koneksi dengan database tanpa menggunakan object. Maka tahapan koneksinya harus dibuat dalam beberapa baris program, perhatikan program dibawah ini untuk masing object koneksi :
a. DAO : Dim DB As Database
‘Mendefinisikan database
8
Dim RS As Recordset ‘Mendefinisikan Tabel / Record Source Private sub Form-Load() Set DB=OpenDataBase(“C:\VB2000\BRG.MDB”)
‘Membuka/menghub’kan
database Set RS = DB.OpenRecordSet (“TabelBrg”)
‘Membuka/menghub’kan Tabel
End Sub Jika dlm satu Form dibuka bbrp table sekaligus, dpt ditambahkan perintah OpenRecordset utk table lainnya, contoh : Dim DB As Database Dim RSkasir, RSbarang, RSPelanggan As Recordset Private sub Form-Load() Set DB = OpenDataBase (“C:\VB2000\BRG.MDB”) Set RSkasir = DB.OpenRecordSet (“Tabelkasir”) Set RSbarang = DB.OpenRecordSet (“TabelBrg”) Set RSPelanggan = DB.OpenRecordSet (“TabelPelanggan”) End Sub
b. ADO : Dim DB As ADODB.Connection
‘Mendefinisikan database
Dim RS As ADODB.Recordset
‘Mendefinisikan Tabel / Record Source
Private sub Form-Load() Dim STR As String Set DB = New ADODB.Connection Set RS = New ADODB.Recordset STR = Provider = Microsoft.Jet OLEDB.VERSI.4.0;Persist security Info = False; Datasource = C:\VB2000\BRG.MDB”) DB.Open STR
‘Membuka/menghub’kan database
RS.ActiveConnection = STR RS.Open “Tabelbrg”
’Membuka/menghub’kan Tabel
End Sub Contoh Kasus koneksi ADO menggunakan Object ADODC
9
Seperti form diatas table barang
yang sudah dikoneksikan dengan ADO, hanya
melengkapinya dengan browse table (Yaitu : Object DataGrid) dan code pd tombol Add, Edit, Delete, Cancel Dan Exit : Disainlah DataGrid ke Form, Seting propertie nya sbb : Objek
Properti
Pengaturan
Datagrid
Caption
Browse Data Barang
AllowArrow
True
AllowAddNew
True
AllowDelete
True
AllowUpdate
True
DataSource
Adodc1
ColumnHeader
True
Click/aktifkan Object ADODC1 yg telah terkonecsi pd form, kemudian set property Caption = Record Barang
Dan
EOFActin = AddNew
Hasilnya lihat seperti berikut ini :
Code utk running Form diatas :
Dim kdtamu As String * 10 Dim Syarat As String
10
Private Sub CmdEdit_Click() kdtamu = InputBox("Masukan NO.TAMU yg di Cari/EDIT !!!", "CARI ATAU EDIT DATA") Syarat = "kdbrg = ' " & kdtamu & " ' " Adodc1.Recordset.Find Syarat If Adodc1.Recordset.EOF Then MsgBox "Data Tidak Ditemukan !!!", vbOKOnly, "Cari data tamu yg di EDIT" AdodCHOTEL.Recordset.MoveFirst End If End Sub Private Sub Comdelete_Click() MsgBox "ANDA YAKIN AKAN MENGHAPUS DATA INI ? ", vbYesNo + vbExclamation, "PERINGATAN" If vbYes Then Adodc1.Recordset.Delete Adodc1.Recordset.MoveNext Text1.SetFocus End If End Sub Private Sub cmdADD_Click() Adodc1.Recordset.AddNew Text1.setFocus End Sub Private Sub cmdExit_Click() End End Sub Private Sub cmdrefresh_Click() RecMhs.Refresh RecMhs.Recordset.MoveNext End Sub Private Sub cmdCancel_Click() TEXT1.TEXT= ” “ TEXT2.TEXT= ” “
11
TEXT3.TEXT= ” “ TEXT3.TEXT= ” “ TEXT1.SETFOCUS End Sub
2.Program berikut ini juga koneksi dengan ADO, metode Editnya berbeda :
TxtCari
Code utk running Form diatas : Dim kdtamu As String * 10 Dim Syarat As String Private sub CmdCari-Click If Txtedit.Text = "" Then MsgBox "Entry Duluu Dong... No.Tamu yg di EDIT !", vbOKOnly, "EDIT DATA TAMU" If vbOK Then Txtedit.SetFocus End If ElseIf Txtedit.Text <> "" Then kdtamu = Txtedit.Text syarat = "notamu = '" & kdtamu & "'" Adodc1.Recordset.Find syarat If Adodc1.Recordset.EOF Then MsgBox "Data Tidak Ditemukan !!!", vbOKOnly, "Cari data tamu yg di EDIT"
12
Adodc1.Recordset.MoveFirst End If End If End Sub
Catatan ☻Pencarian data dgn dgn cepat dapat dilakukan dgn index data, tetapi pendarian ini hanya bisa dilakukan dgn koneksi DAO (Object control data), ☻karena property indek dan dan Seek hanya terdapat pada propertie recordset ControlData ☻Utk pencarian data dgn index data dpt menggunakan metode pernyataan adlh Expresi string : “=”, ”<”, “>”, “<=”, “>=” ☻Pencarian dilkukan dari record Pertama ke record Akhir (arah maju) ☻Kecuali dgn metade string “>”, atau “>=” maka pencarian dilakukan dari akhir file ke awal File (arah mundur) Contoh :
Code pencarian dgn index Private Sub Command7_Click() If Txtcari.Text = "" Then MsgBox "Entry Duluu Dong... No.Tamu yg di EDIT !", vbOKOnly, "EDIT DATA TAMU"
13
If vbOK Then Txtedit.SetFocus End If ElseIf Txtcari.Text <> "" Then kdtamu = Txtcari.Text Data1.Recordset.Index = " NOTAMU " Data1.Recordset.Seek "=", kdtamu If Data1.Recordset.NoMatch Then MsgBox "Data Tidak Ditemukan !!!", vbOKOnly, "Cari data TAMU " End If End If End Sub
===================
14