bab 4 cara koneksi database ms access

Upload: iko-doang

Post on 16-Jul-2015

756 views

Category:

Documents


0 download

TRANSCRIPT

BAB 4 CARA KONEKSI DATABASE ACCESS Dalam bab ini akan dijelaskan dua buah cara koneksi database, yaitu: 1. Cara koneksi dengan menggunakan objek 2. Cara koneksi tanpa objek Selain itu cara menampilkan data akan menggunakan beberapa fungsi antara lain: 1. DataAdapter 2. DataReader 3. Query 4. DataRow 4.1 Koneksi Menggunakan Objek 1. 2. 3. 4. 5. Aktifkan VB.NET Pilih New Project Pilih ikon Windows Application Tulis Nama Project Program C:\Pemrograman VB.NET Klik OK

1

Cara

Koneksi

Access

di

posisi

Gambar 4.1 Membuat project baru 6. Klik ikon DataGrid lalu drag di dalam form

Gambar 4.2 Ikon DataGrid 7. 18 Klik ikon Button lalu drag di dalam Form

Gambar 4.3 8.

Ikon Button

Klik Button1 lalu ketik pada properti Text Tampilkan Data

Gambar 4.4 Mengubah text pada Button1 9. Klik Form lalu tulis pada properti Text Koneksi Access Menggunakan Objek

Gambar 4.5 Mengubah text pada form 10. Tampilan form saat ini adalah seperti gambar berikut

19

Gambar 4.6 11.

Form hasil modifikasi

Pada ToolBox kelompok Data, klik ikon OleDBConnection, lalu klik dalam form

Gambar 4.7 Ikon OleDBConnection 12. 13. 14. Di bagian bawah form terlihat objek OleDBConnection Klik Button DropDown ConnectionString di jendela Properti Pilih New Connection

Gambar 4.8 Membuat koneksi baru 15. Double klik Microsoft Jet 4.0 OLE DB Provider

20

Gambar 4.9 Memilih jenis provider 16. Klik Button Select or Enter a database name

Gambar 4.10 17.

Memilih database

Cari file yang akan dijadikan target program, Double klik DBNet1

Gambar 4.11 18. 19. 20. Klik Test Connection Klik OK Klik OK

Memilih file database

21

21.

Klik Include Password

Gambar 4.12 Koneksi berikut password database 22. 23. Klik ikon OleDBDataAdapter Drag di dalam Form

Gambar 4.13 Ikon OleDBDataAdapter 24. Klik Next

Gambar 4.14 Koneksi DataAdapter 25. Pilih koneksi yang tadi dibuat

Gambar 4.15 26. 27. Klik Next Klik Next

Memilih koneksi yang telah dibuat

Gambar 4.16 28. Klik Query Builder

Memilih type query

22

Gambar 4.17 Membangun query 29. Klik Add

Gambar 4.18 30. 31. Klik Close Klik * (All Columns)

Memilih tabel

Gambar 4.19 32. 33. 34. Klik OK Klik Next Klik Finish

Memilih semua kolom dalam tabel

23

Gambar 4.20 Finishing koneksi 35. Klik ikon DataSet lalu drag di dalam Form

Gambar 4.21 Ikon DataSet 36. 37. Pilih Untype dataset Klik OK

Gambar 4.22

Memilih jenis dataset

Dengan langkah-langkah di atas proses koneksi ke database dengan menggunakan objek-objek telah selesai. Tampilan lengkap form saat ini adalah sebagai berikut:

24

Gambar 4.23 Form hasil modifikasi 38. Double Klik pada Button1 lalu tulis coding berikut ini

Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " .... .... untuk sementara waktu abaikan coding di dalam area ini. Coding di area ini adalah inisialisasi objek-objek dalam form yang dibentuk secara otomatis oleh sistem VB .NET #End Region Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click OleDbDataAdapter1.Fill(DataSet1) DataGrid1.SetDataBinding(DataSet1, "Barang") End Sub End Class 39. 40. 41. RUN project (tekan tombol F5) Lalu klik Button Tampilkan Data Hasilnya terlihat seperti gambar berikut

25

Gambar 4.24 Hasil program Biasanya data diurutkan berdasarkan nama filed secara Ascending. Jika data ingin diurutkan berdasarkan susunan field asli tambahkanlah coding berikut. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'definisikan sebuah string koneksi Dim Koneksi As String 'tulis sql untuk memilih data Koneksi = "select * from barang" 'buka dataadapter dengan koneksi yang telah dibuat OleDbDataAdapter1.SelectCommand.CommandText = Koneksi 'bersihkan dataset dari data DataSet1.Clear() 'isi dataadapter dengan dataset OleDbDataAdapter1.Fill(DataSet1) 'lakukan binding pada datagrid dengan isi dataset DataGrid1.SetDataBinding(DataSet1, "Barang") End Sub Jika project memunculkan pesan error yang menyatakan bahwa database yang diakses dalam keadaan tertutup, lakukanlah langkah-langkah di bawah ini. a. b. Klik tanda di sebelah kiri #Region Kemudian ketik coding OleDBConnection1.Open()

Gambar 4.25 Menangani error

26

c.

Sedangkan Event-nya dalam kondisi New

Gambar 4.26 Mengubah event form 42. RUN kembali project dan hasilnya berubah seperti gambar berikut

Gambar 4.27 Tampilan field asli 3.2 Koneksi Tanpa Objek Cara ini dapat memberi keleluasaan pada kita dalam melakukan manipulasi data. Tambahkanlah sebuah form baru dengan bentuk seperti gambar berikut.

27

Gambar 4.28 Rancangan form Catatan : form hanya berisi sebuah DataGrid dan sebuah Button 1. Double klik Button1 (dengan asumsi Text Button1 telah diubah menjadi Tampilkan Data dan Text Form telah diubah menjadi Koneksi MS Access Tanpa Objek melalui jendela Properti) Lalu tulislah coding berikut ini.

2.

Catatan : Tambahkan dua baris coding berikut ini di posisi bagian paling atas Imports System.Data Imports System.Data.OleDb Public Class Form2 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " .... .... untuk sementara waktu abaikan coding di area ini! #End Region Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 'definiskkan objek-objek untuk koneksi 'command, dataadapter, dataset dan string sql Dim ObjConn As OleDbConnection Dim ObjCommand As OleDbCommand Dim ObjDataAdafter As OleDbDataAdapter Dim ObjDataSet As New DataSet Dim StrConn, StrSQL As String 'buka file database StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Pemrograman VB.NET\DBNet1.Mdb" 'buatlah perintah sql untuk menyaring data StrSQL = "select * from barang" 'buat koneksi baru ke database ObjConn = New OleDbConnection(StrConn) 'buat command baru ke database dengan string sql yang telah dibuat ObjCommand = New OleDbCommand(StrSQL, ObjConn) 'buka koneksi ke database ObjConn.Open() 'buat dataadapter dgn command yang telah didefinisikan ObjDataAdafter = New OleDbDataAdapter(ObjCommand) 'isi dataadapter dengan dataset ObjDataAdafter.Fill(ObjDataSet, "Barang") 'lakukan binding pada datagrid dgn dataset yang telah diisi pada dataadapter DataGrid1.DataSource = ObjDataSet.Tables("barang") 'tutup koneksi ObjConn.Close() End Sub 28

End Class 3. 4. 5. 6. Agar project dimulai dari Form2, ubahlah properti project pada StartUp Form menjadi Form2 Ketengahkan Form2 dengan ubah properti StartPosition menjadi CenterScreen RUN project (F5) Hasilnya terlihat seperti gambar berikut ini.

Gambar 4.29 Koneksi tanpa objek Teknik seperti ini sering disebut dengan cara koneksi menggunakan DataAdapter. Cara lain untuk menampilkan data yaitu dengan menggunakan DataReader. Ikutilah langkah-langkah berikut ini. 3.3 DataReader 1. Buatlah sebuah form baru (Form3) dengan bentuk seperti gambar di bawah ini.

Gambar 4.30 Rancangan form 2. 3. Ubah posisi Form3 jadi di tengah saat project di RUN Ubah Properti project agar saat project di RUN From3 ditampilkan paling awal 29

4. 5.

Double klik Button1 lalu ketik coding berikut ini. Tambahkan dua baris coding di bawah ini

Imports System.Data Imports System.Data.OleDb Public Class Form3 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " .... .... untuk sementara waktu abaikan coding yang ada di area ini #End Region Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim ObjConn As OleDbConnection Dim ObjCommand As OleDbCommand Dim ObjDataAdapter As OleDbDataReader Dim StrConn, StrSQL As String StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Pemrograman VB.NET\DBNet1.Mdb" StrSQL = "select * from Barang" ObjConn = New OleDbConnection(StrConn) ObjCommand = New OleDbCommand(StrSQL, ObjConn) ObjConn.Open() ObjDataAdapter = ObjCommand.ExecuteReader 'definisikan sebuah string temporer untuk menampung data Dim mTemp1 As String Dim mtemp2 As String 'baca data berulang-ulang Do While ObjDataAdapter.Read() = True 'isi dataadapter dengan data yang telah dibaca mTemp1 = ObjDataAdapter("KodeBrg") & vbTab & ObjDataAdapter("NamaBrg") 'tampilkan data dalam listbox ListBox1.Items().Add(mTemp1) mtemp2 = ObjDataAdapter("NamaBrg") ComboBox1.Items().Add(mtemp2) Loop 'tutup dataadapter dan koneksi ObjDataAdapter.Close() ObjConn.Close() End Sub End Class 6. Saat project di RUN lalu Button Tampilkan Data diklik hasilnya terlihat sebagai berikut.

30

Gambar 4.31 Koneksi tanpa objek menggunakan DataReader 3.4 Menggunakan Query 1. 2. 3. Tambahkan sebuah Form baru (Form4) Tambahkan sebuah DataGrid, Label dan TextBox Hasil modifikasi Form4 terlihat seperti gambar berikut

Gambar 4.32 Rancangan form Query 4. 5. 6. Ubah Properti Form4 agar tampil di tengah layar Ubah Properti project agar Form4 tampil paling awal Tulis coding di bawah ini

Imports System.Data Imports System.Data.OleDb Public Class Form4 Inherits System.Windows.Forms.Form Dim Conn As OleDbConnection Dim Cmd As OleDbCommand Dim DA As OleDbDataAdapter Dim DS As New DataSet Dim StrConn, StrSQL As String 31

#Region " Windows Form Designer generated code " .... .... abaikan coding di area ini.. #End Region 'definisikan koneksi ke database agar tidak diketik berulang-ulang Sub Koneksi() StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Pemrograman VB.Net\DBNet1.Mdb" StrSQL = "select * from Barang " Conn = New OleDbConnection(StrConn) Cmd = New OleDbCommand(StrSQL, Conn) Conn.Open() End Sub Sub semula() Call Koneksi() DA = New OleDbDataAdapter(Cmd) DA.Fill(DS, "Barang") DataGrid1.DataSource = DS.Tables("Barang") End Sub Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'buka koneksi ke database Call Koneksi() 'buat dataadapter baru DA = New OleDbDataAdapter(Cmd) 'isi dataadapter dengan dataset (barang) DA.Fill(DS, "Barang") 'binding datagrid dengan dataset DataGrid1.DataSource = DS.Tables("Barang") End Sub Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress 'buatlah penanganan kesalahan On Error GoTo errorhandler 'jika menekan ESC program berakhir If e.KeyChar = Chr(27) Then End 'jika menekan enter setelah menulis syntax sql, maka... If e.KeyChar = Chr(13) Then 'buka koneksi ke database Call Koneksi() 'buat dataadapter baru DA = New OleDbDataAdapter(Cmd) 'isi dataadapter bergantung pada syntax sql yang diketik StrSQL = TextBox1.Text 'bersihkan isi dataset dari data DS.Clear() 'isi dataadapter bergantung pada syntax sql yang diketik DA.SelectCommand.CommandText = StrSQL 'isi dataadapter sesuai syntax sql 32

DA.Fill(DS, "StrSql") 'binding datagrid dengan dataset DataGrid1.SetDataBinding(DS, "StrSql") End If Exit Sub errorhandler: MessageBox.Show("Salah syntax, tulis syntax SQL dgn benar") Call semula() TextBox1.Focus() End Sub End Class 7. 8. 9. RUN project (F5) Tulis syntax SQL dalam TextBox Tekan enter

Jika dalam TextBox1 ditulis syntax sql Select KodeBrg from Barang lalu menekan enter maka akan terlihat hasilnya sebagai berikut:

Gambar 4.33 Hasil query Dalam kondisi seperti ini penguasaan syntax-syntax SQL menjadi syarat mutlak yang tidak dapat ditawar lagi.

3.5 DataRow (Binding) Model ini memberikan cara tentang bagaimana mengaitkan record ke dalam objek yang dapat mengikatnya berupa TextBox, Label dan sejenisnya. Untuk mencobanya rancanglah form seperti gambar di bawah ini kemudian klik dua kali Button Tampilkan Data.

33

Gambar 4.34 Rancangan form Coding Imports System.Data Imports System.Data.OleDb Public Class Form6 Inherits System.Windows.Forms.Form #Region " Windows Form Designer generated code " Public Sub New() MyBase.New() InitializeComponent() End Sub ... ... #End Region Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Conn As OleDbConnection Dim Command As OleDbCommand Dim DA As OleDbDataAdapter Dim DS As New DataSet Dim StrConn, StrSQL As String StrConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Pemrograman VB.NET\DBNet1.Mdb" StrSQL = "select * from barang where kodebrg='SUS001'" Conn = New OleDbConnection(StrConn) Command = New OleDbCommand(StrSQL, Conn) Conn.Open() DA = New OleDbDataAdapter(Command) Dim DT As New DataTable DA.Fill(DT) Me.TextBox1.DataBindings.Add("text", DT, "kodebrg") Me.TextBox2.DataBindings.Add("text", DT, "namabrg") Me.TextBox3.DataBindings.Add("text", DT, "hargabeli") Me.TextBox4.DataBindings.Add("text", DT, "hargajual")

34

Me.TextBox5.DataBindings.Add("text", DT, "jumlahbrg") End Sub End Class Jika string koneksi telah disederhanakan menjadi: dibuat dalam Module1, maka penulisan dapat

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click DA = New OleDb.OleDbDataAdapter("select * from barang where kodebrg='KOP001'", Module1.Koneksi) Dim DT As New DataTable DA.Fill(DT) Me.TextBox1.DataBindings.Add("text", DT, "Kodebrg") Me.TextBox2.DataBindings.Add("text", DT, "NamaBrg") Me.TextBox3.DataBindings.Add("text", DT, "HargaBeli") Me.TextBox4.DataBindings.Add("text", DT, "HargaJual") Me.TextBox5.DataBindings.Add("text", DT, "JumlahBrg") End Sub Setelah selesai mengetik coding, RUN project dan klik Button Tampilkan Data kemudian perhatikan hasilnya. 3.6 Koneksi Menggunakan Server Explorer Walaupun namanya Server Explorer, namun fasilitas ini dapat juga digunakan untuk melakukan koneksi dengan database Access. Lakukanlah langkahlangkah di bawah ini. 1. 2. 3. Buatlah Form dengan sebuah Datagrid Klik menu View Pilih Server Explorer

Gambar 4.35 Menampilkan Server Explorer 4. 5. Klik kanan Data Connections Pilih Add Connection..

35

Gambar 4.36 Membuat koneksi baru 6. 7. Klik Tab Provider Pilih Microsoft Jet 4.0 OLE DB Provider

Gambar 4.37 memilih provider 8. Klik Button Select or Enter a database name

Gambar 4.38 9.

Memilih database

Cari file yang akan dijadikan target program, Double klik DBNet1

36

Gambar 4.39 10. 8. 9. Klik Test Connection Klik OK Klik OK

Memilih database

Gambar 4.40 Koneksi sukses 10. Drag hasil koneksi ke dalam form

Gambar 4.41 Memasang koneksi ke dalam form 11. 12. Objek OleDBConnection1 tampil di bawah Form Pilih Include Password

37

Gambar 4.42 Koneksi berikut password database 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. Tambahkan OleDBDataAdapter Klik Next Pilih Koneksi yang sudah dibuat Klik Next Pilih Query Builder Pilih Tabel Barang Klik Add Klik Close Klik * (All Columns) Klik OK Klik Next Klik Finish Tambahkan Dataset Pilih Untyped Dataset Tulis coding berikut ini

Private Sub Form5_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim Koneksi As String Koneksi = "select * from barang" OleDbDataAdapter1.SelectCommand.CommandText = Koneksi DataSet1.Clear() OleDbDataAdapter1.Fill(DataSet1) DataGrid1.SetDataBinding(DataSet1, "Barang") DataGrid1.ReadOnly = True End Sub 28. RUN Project

Hasil yang ditampilkan sama saja, yang membedakannya adalah cara membuat koneksi ke database.

38