Subscribe:

Monday, October 18, 2010

Membuat Form Koneksi ke SQL Server

Berikut contoh senderhana membuat form untuk menyimpan connection string yang digunakan untuk melakukan koneksi ke SQL Server, silahkan melakukan pengembangan jika diperlu. 




 Jika koneksi ke SQL Server berhasil maka akan muncul pesan sebagai berikut:



 
Cara kerja:
·        Jika user meng-klik tombol Test Connection, maka program akan melakukan pengujian koneksi ke SQL Server
·        Jika user meng-klik tombol Save, dan jika pengaturan koneksi sudah benar dan koneksi berjalan normal maka connection string akan disimpan.
 
Code :
 
'untuk STREAM WRITER
Imports System.IO
 
'untuk SQL CONNECTION
Imports System.Data
Imports System.Data.SqlClient
 
Public Class frmDatabaseConnect
    'deklarasi variabel
    Private SW As StreamWriter
    Private sqlConn As SqlConnection
    Private m_ConnString As String
 
    'menentukan path dari file EXE, untuk meletakan file Connection String
    Private myPath As String = AppDomain.CurrentDomain.BaseDirectory
#Region "Message Box"
    Private Sub ValidationMessage(ByVal strMessage As String)
        MessageBox.Show(strMessage, _
                 "Database Connect - Validation", _
                 MessageBoxButtons.OK, MessageBoxIcon.Warning)
    End Sub
#End Region
    Private Sub prepare4start()
        txtServer.Text = ""
        cbxUseWA.Checked = False
        txtUserID.Text = ""
        txtPassword.Text = ""
        txtDatabase.Text = ""
        txtServer.Focus()
    End Sub
    Private Sub initWindowsAuthentication()
        txtUserID.Text = ""
        txtPassword.Text = ""
        If cbxUseWA.Checked = True Then
            txtUserID.ReadOnly = True
            txtPassword.ReadOnly = True
            txtDatabase.Focus()
        Else
            txtUserID.ReadOnly = False
            txtPassword.ReadOnly = False
        End If
    End Sub
    Private Function validateInput() As Boolean
        If txtServer.Text.Trim = "" Then
            ValidationMessage("Please input SERVER NAME")
            txtServer.Text = ""
            txtServer.Focus()
            Return False
        ElseIf cbxUseWA.Checked = False Then
            If txtUserID.Text.Trim = "" Then
                ValidationMessage("Please input USER ID")
                txtUserID.Text = ""
                txtUserID.Focus()
                Return False
            ElseIf txtPassword.Text.Trim = "" Then
                ValidationMessage("Please input PASSWORD")
                txtPassword.Text = ""
                txtPassword.Focus()
                Return False
            Else
                Return True
            End If
        ElseIf txtDatabase.Text.Trim = "" Then
            ValidationMessage("Please input DATABASE NAME")
            txtDatabase.Text = ""
            txtDatabase.Focus()
            Return False
        Else
            Return True
        End If
    End Function
    Private Function tryConnection() As Boolean
        'cek validasi input dari user
        If validateInput() = False Then Exit Function
 
        m_ConnString = ""
        If cbxUseWA.Checked = True Then
            m_ConnString = "Integrated Security=SSPI" & _
                           ";Persist Security Info=False" & _
                           ";Initial Catalog=" & txtDatabase.Text.Trim & _
                           ";Data Source=" & txtServer.Text.Trim
        ElseIf cbxUseWA.Checked = False Then
            m_ConnString = "Password=" & txtPassword.Text.Trim & _
                           ";Persist Security Info=True" & _
                           ";User ID=" & txtUserID.Text.Trim & _
                           ";Initial Catalog=" & txtDatabase.Text.Trim & _
                           ";Data Source=" & txtServer.Text.Trim
        Else
            m_ConnString = ""
        End If
        sqlConn = New SqlConnection(m_ConnString)
        Try
            'mencoba untuk membuka koneksi ke SQL Server
            sqlConn.Open()
            'jika koneksi berhasil maka akan mengembalikan nilai TRUE
            Return True
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Database Connect - ERROR", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
            'jika koneksi gagal maka akan mengembalikan nilai FALSE
            Return False
        Finally
            'jika koneksi dalam keadaan terbuka, maka koneksi akan ditutup
            If sqlConn.State = ConnectionState.Open Then
                sqlConn.Close()
            End If
        End Try
    End Function
 
    Private Sub cbxUseWA_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbxUseWA.CheckedChanged
        initWindowsAuthentication()
    End Sub
 
    Private Sub frmDatabaseConnect_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        prepare4start()
        initWindowsAuthentication()
    End Sub
 
    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Try
            'ClientObject.ini merupakan file yang dibuat dengan NotePad
            'hanya extention file yang diganti dari .txt menjadi .ini
            If File.Exists(myPath & "ClientObject.ini") Then
                File.Delete(myPath & "ClientObject.ini")
            End If
 
            If tryConnection() = True Then
                'membuat file ClientObject.ini baru
                SW = New StreamWriter(myPath & "ClientObject.ini")
                'menulis connection string ke file text
                SW.WriteLine(m_ConnString)
                MessageBox.Show("Save succeed", "Database Connect - Information", _
                                MessageBoxButtons.OK, MessageBoxIcon.Information)
                prepare4start()
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Database Connect - ERROR", _
                     MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If Not SW Is Nothing Then
                SW.Close()
            End If
        End Try
 
    End Sub
 
    Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTest.Click
        If tryConnection() = True Then
            MessageBox.Show("Connection to database succeed", _
                            "Database Connect - Information", _
                            MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If
    End Sub
End Class
 
Download Source Lengkap : DOWNLOAD

5 comments:

Jaxcaizaer said...

kak, #Region >> utk apa kak?

lalu text2 pd m_ConnString (yg d tampilkan d ClietObject.ini) kok letak coding ny d tryConnection() ?

apakah letak ny harus d sana?

Budiyanto said...

#Region hanya berfungsi untuk mengelompokan coding saja tidak ada fungsi lain untuk memproses sesuatu.

m_ConnString diletakan pada tryConnection berfungsi untuk mencoba koneksi ke database apakah sudah berhasil, m_ConnString sendiri merupakan variabel untuk menampung Connection String dari text Notepad (ClientObject.ini)

Fifi Martiliana said...

untuk koneksi ke visual basic nya,kode nya sebanyak itu y kak?

Fariz Setiawan said...

ALHAMDULILAHHH ..

BANG THANKS BANGAD NIH =)

INI YANG LAGI SAYA CARI" =D

mantabbbbbbbbbbbbb (y)

apew eds said...

Trus Untuk Membuat Form Login Ke Aplikasinya Gimana, Mohon DIlanjutkan Tutorialnya. TrmKsih