Rabu, 30 September 2020

Vb.Net: Menyimpan Setting Koneksi Di User Setting

Dimanakah kita menyimpan setting koneksi supaya bisa lebih dinamis dan dapat disetting oleh user? Aplikasi dengan framework .NET menyediakan fasilitas built in untuk menyimpan setting yang dapat diakses dan diatur saat runtime. Sehingga user dapat mengubah setting tanpa harus melakukan compile ulang aplikasi. Untuk lebih jelas nya kita langsung saja buka Project Properties dengan cara klik menu Project -> [Nama Project] Properties. Saat Project Properties terbuka klik tab Setting yang ada disisi kiri. Terdapat 4 kolom isian untuk masing-masing baris setting yaitu Name, Type, Scope, Value. Rani isikan setting-setting yang diperlukan untuk koneksi sebagai berikut: Name merupakan nama dari setting yang nantinya dapat dipanggil dari code. Type adalah tipe data untuk nilai yang diisikan. Scope terdiri dari 2 jenis User dan Application. Scope Application bersifat readonly (hanya bisa dibaca) saat runtime sementara scope user readable dan writeble (bisa dibaca dan diganti). Karena disini kita ingin user dapat mengatur sendiri setting maka dipilihlah Scope User. Setting ini akan tersimpan pada level user account, karena itu jika user window login berbeda bisa memiliki setting berbeda pula. Sementara value merupakan nilai default dari setting sebelum nanti user dapat mengubahnya. Oke, lanjut..... String koneksi adalah variable yang perlu diakses dari hampir seluruh bagian project karena itu mari kita buat variable-variable public yang disimpan dalam sebuah module. Klik Project -> Add Module... Pilih template Module, berinama (teladan: ModGlobalVar) kemudian klik Add. Di dalam nya Rani simpan 4 variable untuk menyimpan nama server, user, password, dan nama database. Serta 1 buah variable string untuk menyimpan connection string lengkap. Module ModGlobalVar     Public dbServer As String     Public dbUser As String     Public dbPassword As String     Public dbName As String     Public sLocalConn As String End Module Kemudian kita buat juga sebuah sub procedure public untung memberikan nilai pada variable-variable tersebut yang diambil dari user setting. Bisa disimpan juga dalam module sehingga mampu dipanggil dimanapun dalam project dikala diperlukan. Public Sub GetDatabaseSetting()     dbServer = My .Settings.dbServer     dbUser = My .Settings.dbUser     dbPassword = My .Settings.dbPassword     dbName = My .Settings.dbName     sLocalConn = "server=" & dbServer & ";user id=" & dbUser & ";" & _                  "password=" & dbPassword & ";database=" & dbName End Sub Sub GetDatabaseSetting diundang ketika applikasi mulai dijalankan (misal nya ketika form splash load). Tapi saat ini Rani fokus dulu ke form koneksi nya yah, jadi sub ini akan dipanggil pada load form koneksi. Oiya kita tambahkan juga di module suatu function untuk menganalisa apakah setting database koneksi mampu terkoneksi sengan baik. Public Function DatabaseConnected( Optional ByVal Server As String = "", _             Optional ByVal User As String = "", _             Optional ByVal Password As String = "", _             Optional ByVal DatabaseName As String = "") As Boolean   Dim conn As MySqlConnection   conn = New MySqlConnection()   If Server = "" And User = "" And Password = "" And DatabaseName = "" Then      conn.ConnectionString = sLocalConn   Else      conn.ConnectionString = "server=" & Server & ";user id=" & _                              User & "; password=" & Password & _                              ";database=" & DatabaseName   End If   Try       conn.Open()       conn.Close()       Return True   Catch myerror As MySqlException       Return False       MessageBox.Show( "Error: " & myerror.Message)   Finally       conn.Dispose()   End Try   Return False End Function Nah ceritanya untuk mempercepat, kita mampu pakai template form obrolan untuk membuat form ini: Atur UI selaku berikut: Code: Imports System.Windows.Forms Public Class frmConnection     Private Sub frmConnection_Load( ByVal sender As System.Object, _                 ByVal e As System.EventArgs) Handles MyBase .Load         GetDatabaseSetting()         txtDbServer.Text = dbServer         txtDbUser.Text = dbUser         txtDbPassword.Text = dbPassword         txtDbName.Text = dbName     End Sub     Private Sub OK_Button_Click( ByVal sender As System.Object, _                 ByVal e As System.EventArgs) Handles OK_Button.Click         If DatabaseConnected(txtDbServer.Text, txtDbUser.Text, _                              txtDbPassword.Text, txtDbName.Text) = True Then             With My .Settings                 .dbServer = txtDbServer.Text                 .dbUser = txtDbUser.Text                 .dbPassword = txtDbPassword.Text                 .dbName = txtDbName.Text                 .Save()             End With             GetDatabaseSetting()             Me .DialogResult = System.Windows.Forms.DialogResult.OK             Me .Close()         End If     End Sub     Private Sub Cancel_Button_Click( ByVal sender As System.Object, _                 ByVal e As System.EventArgs) Handles Cancel_Button.Click         Me .DialogResult = System.Windows.Forms.DialogResult.Cancel         Me .Close()     End Sub End Class Pada event OK_Button_Click kita mampu menyaksikan bagaimana cara mengganti nilai setting. Sekian, selamat menjajal Click here if you like this article.
Sumber http://rani-irsan.blogspot.com


EmoticonEmoticon

:)
:(
hihi
:-)
:D
=D
:-d
;(
;-(
@-)
:o
:>)
(o)
:p
:-?
(p)
:-s
8-)
:-t
:-b
b-(
(y)
x-)
(h)