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
pop
Rabu, 30 September 2020
Vb.Net: Menyimpan Setting Koneksi Di User Setting
Diterbitkan September 30, 2020
Artikel Terkait
- Rani mau coba jawab pertanyaan dari joe sath yang ada di artikel http://rani-irsan.blogs
- *.gif
- *.jpg
- Sekian tahun pengalaman Rani membuataplikasi dengan bahasa apapun nyaris selalu terdapat
- Klo sebelumnya Rani pernah membicarakan ihwal bagaimana membuat input textbox berupa ang
- For Next ialah struktur perulangan yang paling biasa digunakan, dan paling mudah untuk d
Langganan:
Posting Komentar (Atom)
EmoticonEmoticon