0% menganggap dokumen ini bermanfaat (0 suara)
221 tayangan

Modul 7 Ado Library SQL

Modul ini membahas penggunaan ADO library dan SQL dalam Visual Basic 6.0 untuk membangun aplikasi database. Topik utama yang dibahas meliputi cara menghubungkan VB6 dengan ADO library, membuat koneksi database, menggunakan perintah SQL dasar, dan contoh kode untuk membangun antarmuka pengguna sederhana untuk mengakses dan mengolah data dari database.

Diunggah oleh

Chen1Chip
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
221 tayangan

Modul 7 Ado Library SQL

Modul ini membahas penggunaan ADO library dan SQL dalam Visual Basic 6.0 untuk membangun aplikasi database. Topik utama yang dibahas meliputi cara menghubungkan VB6 dengan ADO library, membuat koneksi database, menggunakan perintah SQL dasar, dan contoh kode untuk membangun antarmuka pengguna sederhana untuk mengakses dan mengolah data dari database.

Diunggah oleh

Chen1Chip
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 9

Modul Microsoft Visual Basic 6.

MASAMIN SOFTWARE SOLUTIONS (MSS)


MICROSOFT
MODUL 7 MENGGUNAKAN ADO LIBRARY & SQL
VISUAL BASIC 6.0
Lecturer : Muhammad Miftakhul Amin

1. MENGAITKAN ADO LIBRARY DENGAN VISUAL BASIC 6.0

Agar Visual Basic dapat menggunakan library ADO, maka library ADO harus terdaftar terlebih
dahulu pada registry windows dan memberi tanda cek pada library tersebut. Untuk melakukannya
buka menu Project > References.

Gambar 7.1 Mengaitkan Visual Basic dengan ADO Library

Setelah library ADO dicek, maka library tersebut sudah dapat digunakan secara default, biasanya
library ADO sudah terinstall pada saat Visual Basic 6.0 diinstall. Untuk distribusi ADO library dapat
diperoleh dari Instalasi Microsoft Data Access Componen (MDAC) versi 2.x, sehingga tidak perlu
menginstall VB.

Object ADO yang sering dipergunakan untuk membuat aplikasi database adalah :
- Connection
Dipergunakan untuk membuat koneksi dengan database, property penting yang dipergunakan
adalah :

- Open : metode open bertanggung jawab untuk membuka koneksi


dengan database.
- Execute : metode execute dipergunakan untuk menjalankan perintah query,
pernyataan SQL, atau prosedur tersimpan.
- State : property ini dipergunakan untuk mengetahui apakah object
connection dalam kondisi terbuka (adStateOpen) atau tidak.

- Command
Dipergunakan untuk mengirim perintah ke database, umumnya perintah yang dikirim tersebut
berupa Stored Procedure dan perintah SQL.

- Recordset

48
Modul Microsoft Visual Basic 6.0

Objek recordset dipergunakan untuk menampung hasil eksekusi dalam bentuk table. Obyek
recordset memiliki beberapa property dan metode yang penting sbb :
1. property cursorType : menentukan arah pergerakan ketika recordset dibaca, nilainya :
a. AdOpenDynamic : jenis kursor ini memungkinkan segala perubahan yang
dilakukan pada record(insert,update,delete) dapat dilihat user lain.
b. AdOpenKeyset : mirip seperti AdOpenDynamic, hanya saja penambahan record
baru yang dilakukan oleh user lain tidak dapat diketahui
c. AdOpenStatic : jenis kursor ini dapat dibaca ke segala arah.
d. AdOpenForwardOnly : arah pembacaan record hanya bergerak maju saja
2. property LockType : menangani aktifitas penguncian record, nilainya :
a. AdLockReadOnly : record hanya bisa dibaca.
b. AdLockPessimistic : mengunci sebuah record selama proses perubahan dan
tidak mengijinkan pengguna lain untuk merubah record pada saat yang sama.
c. AdLockOptimistic : tipe ini banyak dipergunakan dalam pemrograman, karena
record hanya akan dikunci sesaat saja ketika perubahan akan dilakukan sehingga
memberi kesempatan user lain untuk merubah record.
d. AdLockBatchOptimistic : dipergunakan untuk pemrograman recordset terputus.

2. MEMBUAT KONEKSI

Hal yang pertama kali harus dilakukan setelah mengaitkan Visual Basic dengan ADO Library
adalah membuat koneksi.
Untuk melakukan koneksi antara Visual Basic dengan database digunakan object Connection
dari ADO.

Property dan method yang penting pada obyek ini yaitu property ConnectionString dan metode
Open.

Property ConnectionString adalah sebuah string yang terdiri dari pasangan parameter dan nilai
parameter yang dipisahkan oleh titik koma (;). Sedangkan method Open digunakan untuk
membuka koneksi sesuai dengan ConnectionString-nya.
Untuk database MS.ACCESS 2000, ConnectionStringnya adalah :

ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Persist Security Info=false;" _
& "Data Source = c:\data\dbcourse.mdb;"

Untuk membuat koneksi, anda dapat membuat dan kemudian menyimpannya dalam sebuah
module khusus, sehingga object Connection tersebut dapat dipanggil oleh modul-modul/form
yang lain.

3. Menggunakan SQL (Structured Query Language)

Bahasa SQL adalah sarana dasar yang dibutuhkan untuk mengakses data di dalam database
relasional. Menguasai bahasa SQL adalah langkah pertama dan terpenting dalam memahami
database relasional.

Untuk memanipulasi data, bahasa SQL yang dipergunakan adalah DML (Data Manipulation
Language). Perintah-perintah ini bertanggung jawab untuk melakukan query dan perubahan yang
dilakukan di dalam tabel.

Perintah DML meliputi :


49
Modul Microsoft Visual Basic 6.0

- INSERT
Pernyataan INSERT dipergunakan untuk menambahkan baris baru pada sebuah tabel.
Contoh : INSERT INTO r_program(id_program,program,jumlah_sesi,biaya)
VALUES(‘VFP’,’ORACLE 9i’,15,400000)

- UPDATE
Pernyataan UPDATE dipergunakan untuk memperbaharui data yang ada dalam sebuah tabel.
Contoh : UPDATE r_program
SET program =’MS. Viual FoxPro 8.0’
WHERE id_program=’VFP’

- DELETE
Pernyataan DELETE dipergunakan untuk menghapus sebuah baris yang ada di dalam tabel.
Contoh : DELETE FROM r_program
WHERE id_program=’VFP’

- SELECT
Pernyataan SELECT dipergunakan untuk melakukan pengambilan data dari sebuah tabel.
Contoh : SELECT * FROM r_program

4. MEMBUAT APLIKASI DENGAN ADO LIBRARY DAN SQL

2. Tambahkan sebuah module untuk menyimpan string koneksi dari object Connection,
sehingga dapat dipergunakan oleh modul/form lain, sehingga cukup sekali saja
mendefinisikan Connection.

Gambar 7.2 Menambahkan Module

Tuis kode program untuk module tersebut :

50
Modul Microsoft Visual Basic 6.0

‘modKoneksi.bas
‘--------------

Option Explicit
Public koneksi As New ADODB.Connection
'-----------------------------------
Public Sub buka_koneksi()
On Error GoTo error_handel
koneksi.CursorLocation = adUseClient
koneksi.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Persist Security Info=false;" _
& "Data Source = c:\data\dbcourse.mdb;"
koneksi.Open
If Not koneksi.State = 1 Then
MsgBox "koneksi KE SERVER GAGAL", vbCritical + vbOKOnly, "Konfirmasi"
End
End If
Exit Sub
error_handel:
MsgBox "Gagal Koneksi Ke Server ...." & Chr(13) _
& "Silahkan Menguhubungi Administrator" & Chr(13) _
& "Laporkan Komentar Berikut : " & Chr(13) & Chr(13) _
& Err.Description, vbOKOnly + vbInformation, "Konfirmasi"
End Sub
Public Sub tutup_koneksi()
On Error GoTo salah

If koneksi.State = adStateOpen Then


koneksi.Close
Set koneksi = Nothing
End If
Exit Sub
salah:
MsgBox "Ada Kesalahan : " & vbCrLf _
& "Silahkan Menguhubungi Administrator" & Chr(13) _
& "Laporkan Komentar Berikut : " & Chr(13) & Chr(13) _
& Err.Description, vbOKOnly + vbInformation, "Konfirmasi"
End Sub

3. Desain form seperti berikut :.


51
Modul Microsoft Visual Basic 6.0

Gambar 7.3 Desain Form

4. Setting properties dari masing-masing kontrol yang ada dalam form sebagai berikut :
Komponen Properties Nilai
Name mskNoreg
MaskEditBox1
Mask #####
Text1 Name TxtProgram
Combo1 Name CmbBulan
Name MskTahun
MaskEditBox2
Mask ####
Text2 Name TxtTglReg
Text3 Name TxtNam
Text4 Name TxtTmpLahir
Name MskTglLahir
MaksEditBox3
Mask ##/##/####
Combo2 Name CmbSex
Text5 Name TxtAlamat
Name CmdCek
Command1
Caption &cek
Name CmdNew
Command2
Caption &New
Name CmdSimpan
Command3
Caption &Simpan
Name CmdHapus
Command4
Caption &Hapus
Name CmdSelesai
Command1
Caption &Selesai
DataGrid1 Name DataGrid1

5. Kemudian tuliskan kode program sebagai berikut :


52
Modul Microsoft Visual Basic 6.0

Option Explicit
Dim rsregistrasi As New ADODB.Recordset
------------------------------------------------------------------------------
'prosedur menampilkan data
Sub browse_data()
If rsregistrasi.State = adStateOpen Then rsregistrasi.Close
rsregistrasi.Open "t_registrasi", koneksi, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rsregistrasi
End Sub
------------------------------------------------------------------------------
'fungsi untuk mengecek data
Function cek_data() As Boolean
If rsregistrasi.State = adStateOpen Then rsregistrasi.Close
rsregistrasi.Open "SELECT * FROM t_registrasi WHERE no_registrasi='" &
mskNoreg.Text & "'", koneksi, adOpenStatic, adLockOptimistic
If rsregistrasi.RecordCount > 0 Then
cek_data = True
Else
cek_data = False
End If
End Function
------------------------------------------------------------------------------
Private Sub Form_Load()
If Not koneksi.State = adStateOpen Then
buka_koneksi
End If
browse_data
txtTglReg.Text = Format(Date, ("dd/mm/yyyy"))
End Sub
------------------------------------------------------------------------------
Private Sub Form_Unload(Cancel As Integer)
If koneksi.State = adStateOpen Then
tutup_koneksi
End If

If rsregistrasi.State = adStateOpen Then


rsregistrasi.Close
Set rsregistrasi = Nothing
End If
End Sub
------------------------------------------------------------------------------
Private Sub cmdCek_Click()
If cek_data() = True Then
MsgBox "Data Tersebut sudah ada", vbOKOnly + vbInformation, "Konfirmasi"
End If
browse_data
End Sub
------------------------------------------------------------------------------
Private Sub cmdNew_Click()
mskNoreg.Mask = " "
mskNoreg.Mask = "#####"
txtProgram.Text = ""
cmbBulan.Text = ""
mskTahun.Mask = " "
mskTahun.Mask = "####"
txtNama.Text = ""
txtTmpLahir.Text = ""
mskTglLahir.Mask = " "
mskTglLahir.Mask = "##/##/####"
cmbSex.Text = ""
txtAlamat.Text = ""
mskNoreg.SetFocus
End Sub

------------------------------------------------------------------------------
Private Sub cmdSimpan_Click()
On Error GoTo salah
If cek_data() = True Then
MsgBox "No. Registrasi Telah Terdaftar, Cek Ulang", vbOKOnly +
vbInformation, "Konfirmasi"
Else
koneksi.Execute "INSERT INTO

53
Modul Microsoft Visual Basic 6.0

t_registrasi(no_registrasi,periode_bulan,periode_tahun," _
& "tgl_registrasi,nama,tmp_lahir,tgl_lahir,sex,alamat,id_program)" _
& "VALUES('" & mskNoreg.Text & "','" & cmbBulan.Text & "','" &
mskTahun.Text _
& "','" & CDate(txtTglReg.Text) & "','" & txtNama.Text _
& "','" & txtTmpLahir.Text & "','" & CDate(mskTglLahir.Text) _
& "','" & cmbSex.Text & "','" & txtAlamat.Text & "','" &
txtProgram.Text & "')"
End If
browse_data
Exit Sub
salah:
MsgBox "Cek Inputan" & vbCrLf _
& "Mungkin ada data yang salah atau belum terisi"

End Sub
------------------------------------------------------------------------------
Private Sub cmdHapus_Click()
If cek_data() = True Then
If MsgBox("Apakah Data Akan dihapus ? ", vbYesNo + vbQuestion, "DELETE
RECORD") = vbYes Then
koneksi.Execute "DELETE FROM t_registrasi WHERE no_registrasi='" &
mskNoreg.Text & "'"
End If
End If
browse_data
End Sub
------------------------------------------------------------------------------
Private Sub cmdSelesai_Click()
Unload Me
End Sub

6. Jalankan program sehingga diperoleh tampilan sebagai berikut :

Gambar 7.4 Hasil Running Program

7. Keterangan :

54
Modul Microsoft Visual Basic 6.0

• Untuk menciptakan sebuah objek koneksi dan recorset adalah sebagai berikut :

Dim koneksi as ADODB.Connection


Set koneksi = New ADODB.Connection

Dim rsregistrasi As ADODB.Recordset


Set rsregistrasi = New ADODB.Recordet

Atau

Dim koneksi As New ADODB.Recordset


Dim rsregistrasi As New ADODB.Recordset

Setelah seluruh objek Connection dan Recordset dipakai dalam aplikasi, maka objek-
objek tersebut harus segera dibebaskan dari memori, caranya adalah sebagai berikut :

Koneksi.close
Set koneksi = Nothing

Rsregistrasi.close
Set rsregistrasi = Nothing

• Untuk membuat koneksi dengan database, dibuat sebuah prosedur yang akan menangani
koneksi, dan jika terjadi kesalahan, maka akan segera ditampilkan pesan kesalahan,
tanpa harus keluar dari program.

Public Sub buka_koneksi()


On Error GoTo error_handle

koneksi.CursorLocation = adUseClient
koneksi.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
& "Persist Security Info=false;" _
& "Data Source = c:\data\dbcourse.mdb;"

koneksi.Open
If Not koneksi.State = 1 Then
MsgBox "koneksi KE SERVER GAGAL", vbCritical + vbOKOnly, "Konfirmasi"
End
End If

Exit Sub
error_handel:
MsgBox "Gagal Koneksi Ke Server ...." & Chr(13) _
& "Silahkan Menguhubungi Administrator" & Chr(13) _
& "Laporkan Komentar Berikut : " & Chr(13) & Chr(13) _
& Err.Description, vbOKOnly + vbInformation, "Konfirmasi"

End Sub

Jika koneksi yang diciptakan lewat ConnectionString berhasil, maka objek Connection
akan mengembalikan nilai 1 atau konstanta AdStateOpen. Hal ini ditandai dengan
property state dari objek Connection.

• Setiap kali sebuah objek akan dibuka, maka terlebih dahulu objek tersebut dalam kondisi
tertutup, jika masih terbuka maka harus ditutup dahulu, seperti objek recordset harus
ditutup terlebih dahulu sebelum dibuka.

If rsregistrasi.State = adStateOpen Then rsregistrasi.Close


rsregistrasi.Open "SELECT * FROM t_registrasi WHERE no_registrasi='" _
& mskNoreg.Text & "'", koneksi, adOpenStatic, adLockOptimistic

• Untuk menampilkan seluruh data yang ada dalam tabel, kemudian menampilkan datanya,
dibuat sebuah prosedur sebagai berikut :

55
Modul Microsoft Visual Basic 6.0

Sub browse_data()
If rsregistrasi.State = adStateOpen Then rsregistrasi.Close
rsregistrasi.Open "t_registrasi", koneksi, adOpenStatic, adLockOptimistic
Set DataGrid1.DataSource = rsregistrasi
End Sub

• Dalam program di atas dibuat sebuah fungsi untuk mendeteksi apakah sebuah record
dengan nomor tertentu sudah ada dalam tabel. Fungsi tersebut akan mengembalikan nilai
True jika data yang dimaksud sudah ada dalam table, demikian juga sebaliknya.
Fungsi tersebut adalah :

Function cek_data() As Boolean


If rsregistrasi.State = adStateOpen Then rsregistrasi.Close
rsregistrasi.Open "SELECT * FROM t_registrasi WHERE no_registrasi='" _
& mskNoreg.Text & "'", koneksi, adOpenStatic, adLockOptimistic
If rsregistrasi.RecordCount > 0 Then
cek_data = True
Else
cek_data = False
End If
End Function

56

Anda mungkin juga menyukai