Wednesday, 19 August 2015

Cara Membuat Koneksi Dinamis VB.NET, MySQL Server (WAMP, XAMPP)

Ketika sebuah program yang dibuat pada Visual Studio 2010 sudah di compile, dan suatu saat terjadi perubahan pada server database yang digunakan, maka kita harus merubah string koneksi yang terdapat pada module. Harus buka kodingannya lagi, ubah koneksi, lalu compile ulang. Agar praktis dan nggak harus buka module lagi, kita dapat membuat sebuah form untuk setting server database. Sehingga aplikasi yang kita gunakan lebih dinamis akan perubahan pada server database.

Contoh yang gue buat disini menggunakan database MySql (WAMP), kenapa? ya nggak kenapa-kenapa, pengen aja :D. Ini bisa dikembangkan menggunakan database SQL Server 2005, tapi kita harus buat user baru pada SQL Server 2005 untuk menggunakannya, caranya disini. Gue saranin diketik ya source codenya, jangan copy paste doang. Percayalah, dengan ngetik kita lebih banyak belajar dan ingat sama kodingannya :p.

- Demo Aplikasi (ID=KD01 Pass=Test)

Pastiin WAMP/XAMP udah diinstall dan dirun ya, terus import database yang udah didownload. Cara import database ada disini.

Cara bikinnya, buat project dulu di Visual Studio 2010, buat beberapa form (Setting, Menu, Login) tambahkan satu module.
Setting Form (Setting_)

Login Form (form 1)

Menu Form (Menu_)
Source Code pada Module

Imports MySql.Data.MySqlClient

Module Module1
    Public conn As MySqlConnection
    Public server As String
    Public conn_server As String
    Public conn_user As String
    Public conn_pass As String
    Public conn_database As String

    Public Sub conn_get()
        conn_server = GetSetting("Buku", "Pengaturan", "server", "")
        conn_user = GetSetting("Buku", "Pengaturan", "user", "")
        conn_pass = GetSetting("Buku", "Pengaturan", "pass", "")
        conn_database = GetSetting("Buku", "Pengaturan", "database", "")
    End Sub

    Public Sub conn_save(ByVal server As String, ByVal user As String, ByVal pass As String, ByVal data As String)
        Call SaveSetting("Buku", "Pengaturan", "server", server)
        Call SaveSetting("Buku", "Pengaturan", "user", user)
        Call SaveSetting("Buku", "Pengaturan", "pass", pass)
        Call SaveSetting("Buku", "Pengaturan", "database", data)
        Call conn_get()
    End Sub

    Public Function koneksi() As Boolean
        Try
            server = "data source={0};user id={1};password={2};initial catalog={3}"
            server = String.Format(server, conn_server, conn_user, conn_pass, conn_database)
            conn = New MySqlConnection(server)
            conn.Open()
            Return True
        Catch ex As Exception
            MsgBox("Connection Error" + vbNewLine + "Please Check Setting Info!", MsgBoxStyle.Critical, "ERROR")
            Return False
        End Try
    End Function
End Module

Source Code pada Form Login

Imports MySql.Data.MySqlClient

Public Class Form1

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Me.Close()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        Setting_.Show()
        Me.Hide()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            Call conn_get()
            If koneksi() = True Then
                Dim sql As String = "SELECT * FROM User WHERE Kode='" & Me.TextBox1.Text & "' AND Password='" & TextBox2.Text & "' "
                Dim cmd As New MySqlCommand(sql, conn)
                Dim rs As MySqlDataReader
                rs = cmd.ExecuteReader

                If rs.Read Then
                    rs.Close()
                    cmd.Dispose()
                    Me.Hide()
                    Menu_.Show()
                Else
                    MsgBox("Wrong ID/Password!", MsgBoxStyle.Critical, "ERROR")
                    rs.Close()
                    cmd.Dispose()
                    Exit Sub
                End If
            End If
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
    End Sub
End Class

Source Code pada Form Setting

Public Class Setting_
    Sub sett()
        Call conn_get()
        txtserver.Text = conn_server
        txtuser.Text = conn_user
        txtpass.Text = conn_pass
        txtdatabase.Text = conn_database
    End Sub

    Private Sub Setting__Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call sett()
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Call sett()
        Me.Close()
        Form1.Show()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Call conn_save(txtserver.Text, txtuser.Text, txtpass.Text, txtdatabase.Text)
        MsgBox("Saved!")
        Me.Close()
        Form1.Show()
    End Sub
End Class

Sekarang tinggal di run projectnya, dengan awalan form login. 

Sumber Refrensi = http://djiesoft.blogspot.com

Cara buat koneksi dinamis, Cara buat koneksi VB.NET MySql, Buat Koneksi Setting, Cara Membuat Aplikasi VB.NET, Buat Koneksi Tanpa Buka Codingan, Cara Buat Form Setting Koneksi

Lorem ipsum is simply dummy text of the printing and typesetting industry.

1 comments

gan, masih aktif gk ne web admin?

tolong dong untuk databasenya di post pembuatannya serta beberapa link disini gk muncul!


EmoticonEmoticon