Menghubungkan Visual basic 6 Dengan SQL Server

Visual Basic 6 adalah bahasa pemrograman multipurpose yang memiliki koneksi database yang powerfull. Menghubungkan Visual Basic 6 dengan SQL Server dapat dilakukan dengan mudah.

SQL Server

SQL Server adalah software database (RDBMS) buatan Microsoft yang digunakan untuk kalangan enterprise. Berbeda dengan file access yang hanya digunakan untuk personal, SQL Server digunakan untuk kebutuhan client server yang lebih kompleks. 
SQL Server adalah software berbayar, tetapi untuk kebutuhan yang lebih kecil, Microsoft menyediakan SQL Server Express. Sedangkan untuk developer yang ingin mencoba fitur-fitur SQL Server enterprise, SQL Server menyediakan SQL Server Developer Edition. Dua versi SQL Server ini bisa didownload di
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
Silahkan kalian mendownload salah satu dari 2 versi tersebut, kemudian lakukan instalasi dikomputernya.
Tutorial kali ini tidak membahas instalasi dan setting SQL Server di computer. Kita langsung saja ke kodingnya ya.

PROSEDURAL DI VISUAL BASIC 6

Visual Basic 6 adalah bahasa pemrograman yang menganut paham procedural. Meskipun sebenarnya Visual basic 6 sudah mendukung OOP, tetapi OOPnya masih setengah-setengah. 
Prosedural di Visual basic 6 ada dua macam, yaitu prosedur dan fungsi. Perbedaan prosedur dan fungsi adalah, fungsi bisa mengembalikan nilai, sedangkan prosedur tidak mengembalikan nilai. Contohnya seperti berikut:

Private function hitung (a, b as integer) as integer
      Hitung = a+b
End function
Dim Perhitungan as integer
Perhitungan = hitung(1,5)

Contoh diatas adalah membuat fungsi hitung.  Fungsi hitung tersebut menghasilkan nilai perhitungan a dan b
Sedangkan Prosedur adalah subrutin yang tidak menghasilkan nilai, alias hanya mengeksekusi baris program. Contoh penggunaan procedur biasanya di setting grid atau pencarian, contohnya dibawah ini:

Private sub setJudul()
lblJudul.caption= “Judulnya”
End sub

Perintah diatas adalah merubah label judul menjadi kata “judulnya”
Cara memanggil procedure hanya dengan perintah ini:

setJudul()

Variabel Global

Visual Basic 6 juga memiliki fitur variable global.  Dengan variable global, kita tidak perlu mendefinisikan suatu variable di tiap form atau object. Variable global sebenarnya tidak disukai oleh sebagian besar programmer, tetapi aku termasuk yang sebagian kecil hehe. Variabel global bisa menyebabkan permasalahan pada debugging. Kita akan kesulitan ketika melacak suatu nilai yang berubah. Karena itu, meskipun sangat berguna.  Sebaiknya penggunaan variable global di manage dengan baik. Saya pribadi terbantu dengan variable global untuk menyimpan data-data yang bersifat global. Misalnya nama user, nama ruangan dan lain sebagainya.
Selain variable, kita juga bisa menyimpan prosedur dan fungsi global alias prosedur dan fungsi yang bisa digunakan oleh aplikasi selama aplikasinya belum ditutup ya.

CRUD SQL Server Dengan Visual Basic 6

Nah, setelah tahu tentang prosedur, fungsi dan variable global di Visual Basic 6, sekarang saatnya kita mengimplementasikannya ke sebuah project sederhana. 

PERSIAPAN

Buka Project baru


Buatlah form seperti dibawah ini:

1. Nama Form = “frmDataBuku”
2. Caption Form = “DATA BUKU”
3. Label1.Caption = “Kode Buku”
4. Label2.Caption = “Nama Buku”
5. Label 3.Caption = “Cari By Nama Buku”
6. Command Button, beri nama cmdBaru
7. Command Button, beri nama cmdUbah
8. Command Button, beri nama cmdHapus
9. Command Button, beri nama cmdBatal
10. Command Button, beri nama cmdTutup
11. Data Grid, beri nama dgData
12. Adodc1, digunakan untuk mensummon komponen adodb dan membuat connection string

Membuat Modul

Buat dua modul, modvar dan modUtil. Caranya adalah sebagai berikut:
Klik Kanan di project1, kemudian pilih add->module



 
Kemudian klik Open




Setelah itu akan muncul folder modul dan module1 di project explore, ubah nama modul1 menjadi modVar seperti dibawah ini:
 
Ubah nama modul lewat parameter Name seperti yang sudah aku tandai didalam kotak merah.
Lakukan hal yang sama untuk membuat modul modUtil.

Isi module modVar

Public dbconn as adodb.connection
Public rs as adodb.recordset
Public strSQL as string
Public connectionString as string

Penjelasan:
Untuk koneksi database kita akan menggunakan komponen adodb. Nah untuk memunculkan adodb di kodingan, kita perlu menambahkan komponen adodc di sembarang form, sebenarnya adodc ini tidak akan kita pakai karena fungsinya hanya untuk memancing adodb saja.
Dbconn adalah komponen koneksi, 
Rs adalah komponen recordset, hasil query akan kita tampung disini
strSQL string yang digunakan untuk menampung query
connectionString adalah string koneksi database. Setiap database memiliki koneksi string yang berbeda, untuk lebih jelasnya bisa dilihat di web ini:
https://www.connectionstrings.com/

Isi modUtil

Sekarang kita akan membuat function koneksi dan ambil data. Kenapa kok kita buat function, soalnya dua fungsi ini selalu digunakan setiap akan mengambil data. Dari pada mengulang-ulang perintah yang sama, kan lebih enak kalau dibuat fungsi.
Public Sub openConnection(dbconn As ADODB.Connection)
On Error GoTo NoConn
   Set dbconn = New ADODB.Connection
    With dbconn
        
      '  If .State = adStateOpen Then Exit Sub
        .CursorLocation = adUseClient
        .ConnectionString = "Provider=SQLNCLI10.1;Password=semarang;DataTypeCompatibility=80;Persist Security Info=True;User ID=client ;Initial Catalog=buku;Data Source=serverku"
        .Open
        If dbconn.State = adStateOpen Then
        '    Connected sucsessfully"
        Else
            MsgBox "Koneksi ke database error, hubungi administrator !" & vbCrLf & Err.Description & " (" & Err.Number & ")"
        End If
    End With
    Exit Sub
NoConn:
    MsgBox "Koneksi ke database error, ganti nama Server dan nama Database", vbCritical, "Validasi"
    frmSetServer.Show
    blnError = True
End Sub
Public Sub msubRecFO(recordset As ADODB.recordset, Query As String, dbconn As ADODB.Connection)
    Set recordset = New ADODB.recordset
    recordset.Open Query, dbconn, adOpenForwardOnly, adLockReadOnly
End Sub

Koding Form DaftarBuku
Private Sub cdmHapus_Click()
    dbconn.Execute "Delete From daftarbuku where KodeBuku = '" & txtKdBuku.Text & "'", iRec
    If iRec = 0 Then
        Call MsgBox("Data Gagal Disimpan")
    Else
        Call MsgBox("Berhasil Simpan")
    End If
    Call Cari
End Sub

Private Sub cmdBaru_Click()
    dbconn.Execute "Insert into daftarbuku (KodeBuku, NamaBuku) values ('" & txtKdBuku.Text & "', '" & txtNamaBuku.Text & "')", iRec
    If iRec = 0 Then
        Call MsgBox("Data Gagal Disimpan")
    Else
        Call MsgBox("Berhasil Simpan")
    End If
    Call Cari
End Sub

Private Sub cmdBatal_Click()
    txtKdBuku.Text = ""
    txtNamaBuku.Text = ""
End Sub

Private Sub cmdTutup_Click()
    Unload Me
End Sub

Public Sub Cari()
    Call openConnection(dbconn)
    strSQL = "Select * From daftarbuku where NamaBuku like '%" & txtCariBuku.Text & "%'"
    Call msubRec(rs, strSQL, dbconn)
    Set dgData.DataSource = rs
End Sub
Private Sub cmdUbah_Click()
    dbconn.Execute "Update daftarbuku set NamaBuku ='" & txtNamaBuku.Text & "' where KodeBuku = '" & txtKdBuku.Text & "'", iRec
    If iRec = 0 Then
        Call MsgBox("Data Gagal Disimpan")
    Else
        Call MsgBox("Berhasil Simpan")
    End If
    Call Cari
End Sub

Private Sub dgData_Click()
    txtKdBuku.Text = dgData.Columns("KodeBuku").Value
    txtNamaBuku.Text = dgData.Columns("NamaBuku").Value
End Sub

Private Sub Form_Load()
    Cari
End Sub

KESIMPULAN

Bagaimana, mudah bukan. Kalau masih susah bisa nanya-nanya ke saya, tetapi sebenarnya mudah banget kok. Tinggal ngetik saja hehe


No comments for "Menghubungkan Visual basic 6 Dengan SQL Server"