Read Write Configuration File (vb 9)

  • Uploaded by: jun
  • 0
  • 0
  • June 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Read Write Configuration File (vb 9) as PDF for free.

More details

  • Words: 1,776
  • Pages: 13
Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Junindar Blog : http://junindar.blogspot.com https://mvp.support.microsoft.com/default.aspx/profile/junindar Lisensi Dokumen:

Copyright © 2003 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

E-Mail : [email protected] I.

Pengantar Setelah menggunakan VB 2005 keatas, banyak sekali para developer memanfaatkan suatu fitur baru yaitu My.Settings. Salah satu fungsi nya adalah untuk melakukan penyimpaanan informasi yang bisa di akses secara mudah dan cepat oleh aplikasi kita. Dan fitur banyak sekali di gunakan untuk menyimpan connection string dalam mengakses database. Lalu bagaimana membuat aplikasi yang fleksible dalam menyimpan connection string tanpa harus membuka secara langsu file konfigurasi nya. Untuk itu kita harus membuat sedikit code untuk mengakses dan memanipulasi data yang tersimpan di file tersebut. Bagaimana cara nya , ikuti trus artikel ini

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

II.

Pembuatan Applikasi Buatlah project baru dengan nama Read_Write. Lalu Klik Project pada menu dan “Read_Write Properties”. Dan Klik Settings, lalu isi kolom-kolom nya seperti dibawah :

Name = conn Type = Connection string Scope = Application Value= DataSource=namaserver\SQLEXPRESS;Initial Catalog=BelajarLINQ;UID=sa;PWD=password Untuk nama sever ganti sesuai dengan nama computer dimana SQL server di install. Dan password isi password untuk login pada user sa. Tambahkan beberapa kontrol pada form 1 seperti gambar dibawah :

Setelah disusun seperti gambar diatas, ganti properties Name pada textbox menjadi = txtserver,txtuser dan txtpassword Note : Project ini di buat menggunakan VB 2009.

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Tambahkan Class pada project, dengan nama config.vb, lalu ketikkan sintaks seperti dibawah. 1.

Ketikkan beberapa imports Name Space seperti dibawah Imports Imports Imports Imports Imports

System System.Xml System.Configuration System.Reflection System.Data.SqlClient

2. Fungsi bawah sintaks dibawah adalah untuk mendapatkan nilai lokasi beserta nama dari file konfigurasi (exe.config) 'mendapatkan nama dan lokasi dari file exe.config Private Shared Function getConfigFilePath() As String Return Assembly.GetExecutingAssembly().Location & ".config" End Function

3. Setelah mendapatkan alamat berserta nama file nya, lalu akan meng load file konfigurasi, seperti dibawah: 'load file konfigurasi, berdasarkan nilai yang didapat pada fungsi - getConfigFilePath Private Shared Function loadConfigDocument() As XmlDocument Dim doc As XmlDocument = Nothing Try doc = New XmlDocument() doc.Load(getConfigFilePath()) Return doc Catch e As System.IO.FileNotFoundException Throw New Exception("File konfigurasi tidak di temukan", e) End Try End Function

4. Lalu ketikkan sintaks dibawah ini, sintaks dibawah berfungsi untuk menulis atribut pada elemen yang dipilih, untuk penjelasan dapat dilihat pada komen.

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Public Sub WriteSettingCon(ByVal name As String, ByVal connectionString As String, _ ByVal providerName As String) 'load konfigurasi file Dim doc As XmlDocument = loadConfigDocument() ' retrieve connectionStrings node Dim node As XmlNode = doc.SelectSingleNode("//connectionStrings") If node Is Nothing Then 'jika node connectionStrings tidak ada Throw New InvalidOperationException("connectionStrings section tidak dapat di temukan") End If Try 'memilih add elemen, berdasarkan name Dim elem As XmlElement = DirectCast(node.SelectSingleNode(String.Format("//add[@name='{0}']", name)), XmlElement) If elem IsNot Nothing Then 'jika sudah ada ' mengganti nilai dari atribut elem.SetAttribute("name", name) elem.SetAttribute("connectionString", connectionString) elem.SetAttribute("providerName", providerName) Else 'membuat elemen dan mengisi nilai atribut elem = doc.CreateElement("add") elem.SetAttribute("name", name) elem.SetAttribute("connectionString", connectionString) elem.SetAttribute("providerName", providerName) node.AppendChild(elem) End If doc.Save(getConfigFilePath()) Catch Throw New Exception End Try End Sub

5. Untuk menghapus elemen yang dipilih, dapat dilihat pada sintaks dibawah.

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Public Sub RemoveSettingCon(ByVal name As String) 'load konfigurasi file Dim doc As XmlDocument = loadConfigDocument() 'retrieve connectionStrings node Dim node As XmlNode = doc.SelectSingleNode("//connectionStrings") Dim elem As XmlElement = DirectCast(node.SelectSingleNode(String.Format("//add[@name='{0}']", name)), XmlElement) Try If node Is Nothing Then Throw New InvalidOperationException("connectionStrings section tidak dapat di temukan ") Else If elem IsNot Nothing Then ' hapus elemen berdasarkan key yang dipilih node.RemoveChild(node.SelectSingleNode(String.Format("//add[@name='{0}']", name))) doc.Save(getConfigFilePath()) End If End If Catch Throw New Exception() End Try End Sub

Sekarang kita kembali ke form1, double click button Connect, lalu ketikkan sintaks dibawah.. Try Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn") Catch ex As Exception MsgBox(ex.Message) End Try

Sebelum

menjalankan,

liat

file

konfigurasi

pada

folder

bin

>

debug>

Read_Write.exe.config. lalu liat informasi didalam file tersebut. Untuk sintaks di atas kita akan melakukan penghapusan elemen pada node connectionStrings

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Jalankan program dan klik button connect, lalu liat hasil nya lagi pada file Read_Write.exe.config

Coba perhatikan gambar di atas, kita telah berhasil menghapus data pada node connectionStrings. Ubah sintaks diatas seperti dibawah ini

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Try Dim connectionString As String Dim Configs As New Config ' Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn") connectionString = "Data Source=" + txtServer.Text + ";Initial Catalog=BelajarLINQ;UID=" + txtUser.Text + ";PWD=" + txtPassword.Text Configs.WriteSettingCon(Application.ProductName + ".My.MySettings.conn", connectionString, "System.Data.SqlClient") Catch ex As Exception MsgBox(ex.Message) End Try

Lalu jalankan program, masukkan data-data yang di perlukan pada textbox, lalu tekan button connect.

Sekali lagi coba buka file Read_Write.exe.config, apakah data-data yang kita isikan terdapat file tersebut.

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Jika berhasil maka kita telah bisa membuat program yang fleksible, jika kita mengalami perubahan pada server, kita bisa menggunakan fungsi ini, tanpa harus membuka langsung file konfigurasi. Tapi apakah kita akan membiarkan user dapat melihat informasi pada file. bagaimana jika itu merupakan informasi yang penting. Jangan khawatir, kita bisa melakukan enkrip data tersebut. Untuk lebih jelas tentang ini bisa membaca E-Book dari 2 orang MVP VB (Mas Erick dan Mas Rully) dengan judul “Migrasi Visual Basic 6 ke VB.Net”. Dan sintaks di bawah ini saya ambil dari contoh pada buku tersebut (memanfaatkan yang sudah ada

).

Ketikkan sintaks dibawah pada class config Public Sub EncryptConnection(ByVal BolEnAs Boolean) Try Dim configFile = _ ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) Dim connectionElement = configFile.GetSection("connectionStrings") If BolEn= True Then connectionElement.SectionInformation.ProtectSection(Nothing) Else connectionElement.SectionInformation.UnprotectSection() End If connectionElement.SectionInformation.ForceSave() = True configFile.Save(ConfigurationSaveMode.Modified) Catch ex As Exception MessageBox.Show(ex.ToString) End Try End Sub

Dan buat satu procedure untuk mengecek apakah file konfigurasi sudah di enkrip atau belum.

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Private Shared Function CekEncrypt() As Boolean Dim cek As Boolean Try Dim configFile = _ ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) Dim connectionElement = configFile.GetSection("connectionStrings") cek = connectionElement.SectionInformation.IsProtected Return cek Catch ex As Exception Throw New Exception(ex.Message.ToString) End Try End Function

lalu

tambahkan

sintaks

dibawah,

pada

procedure

WriteSettingCon

dan

RemoveSettingCon.

Double click button Connect dan ganti seperti sintaks dibawah. Dim Configs As New Config Try Dim connectionString As String connectionString = "Data Source=" + txtServer.Text + ";Initial Catalog=BelajarLINQ;UID=" + txtUser.Text + ";PWD=" + txtPassword.Text Configs.WriteSettingCon(Application.ProductName + ".My.MySettings.conn", connectionString, "System.Data.SqlClient") Configs.EncryptConnection(True) Catch ex As Exception Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn") MsgBox(ex.Message) End Try

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Selanjutnya kita akan membuat procedure untuk melakukan koneksi ke database, sebelum nya buat, procudere untuk membaca attribute pada elemen connectionStrings Private Function ReadSetting(ByVal name As String) As String Try If CekEncrypt() = True Then EncryptConnection(False) End If Dim cn As String Dim doc As XmlDocument = loadConfigDocument() Dim node As XmlNode = doc.SelectSingleNode("//connectionStrings") If node Is Nothing Then 'jika node connectionStrings tidak ada Throw New InvalidOperationException("connectionStrings section tidak dapat di temukan") End If 'memilih add elemen, berdasarkan name Dim elem As XmlElement = DirectCast(node.SelectSingleNode(String.Format("//add[@name='{0}']", _ name)), XmlElement) If elem IsNot Nothing Then 'jika sudah ada cn = elem.GetAttribute("connectionString") Else Throw New InvalidOperationException("connection string atribut tidak dapat di temukan") End If Return cn Catch ex As Exception Throw New Exception(ex.Message.ToString) End Try End Function

Public Sub TestConnection() Try Using connect As New SqlConnection(ReadSetting(Application.ProductName + ".My.MySettings.conn")) connect.Open() End Using MsgBox("Success") Catch ex As SqlException Throw New Exception(ex.Message.ToString) End Try End Sub

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Ubah sintaks button connect seperti dibawah. Dan jalan kan program. Apakah pesan keberhasilan seperti dibawah tampil ? Dim Configs As New Config Try Dim connectionString As String connectionString = "Data Source=" + txtServer.Text + ";Initial Catalog=BelajarLINQ;UID=" + txtUser.Text + ";PWD=" + txtPassword.Text Configs.WriteSettingCon(Application.ProductName + ".My.MySettings.conn", connectionString, "System.Data.SqlClient") Configs.TestConnection() Configs.EncryptConnection(True) Catch ex As Exception Configs.RemoveSettingCon(Application.ProductName + ".My.MySettings.conn") MsgBox(ex.Message) End Try

Untuk source code lengkap, dapat di download di http://junindar.blogspot.com

Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Penutup Mudah-mudahan artikel ini membuat kita semua menjadi bertambah pengetahuanya.

Referensi 1. www.msdn.microsoft.com 2. www.planetsourcecode.com 3. www.codeproject.com 4. www.aspnet.com Masih banyak lagi referensi yang ada di Intenet. Anda tinggal cari di www.Google.com. Dengan kata kunci “tutorial VB.Net”

Sinopsis buku “Panduan Lengkap Menjadi Programmer“ Setelah mengetahui apa itu Microsoft.NET Framework, Microsoft Visual Basic.NET, ADO.NET, Database dan Microsoft Access, dan fungsi-fungsi serta dasar penggunaannya, ternyata menjadi programmer VB.NET itu mudah! Sebab, dari dasar pengetahuan tesebut, kita sudah bisa membuat suatu program yang kita inginkan. Misalnya, membuat aplikasi toko, seperti form penjualan dan pembelian. Visual Basic.NET (VB.NET) merupakan program generasi selanjutnya dari Visual Basic. VB.NET memungkinkan kita untuk membangun aplikasi database client atau server dengan performa tinggi. Umumnya, para programmer banyak menggunakan VB.NET untuk membuat aplikasi atau program yang mereka butuhkan. Pasalnya, program ini memiliki kelebihan dan kemudahan tertentu dibandingkan dengan program-program lainnya yang sejenis. Selanjutnya, langkah apa saja yang mesti diketahui dan dilakukan agar kita bisa menjadi programmer VB.NET? Mediakita menerbitkan buku Panduan Lengkap Menjadi Programmer yang ditulis oleh Junindar. Buku ini berisi tutorial pembuatan program, pembuatan laporan, sampai dengan melakukan deployment program. Melalui buku ini, Anda bisa menjadi seorang programmer VB.NET yang handal. Sebab, buku ini merupakan buku yang komplit untuk mengantar seseorang dari tidak tahu apa-apa tentang VB.NET menjadi seorang programmer. Memang, saat ini, banyak sekali buku-buku tentang pemrograman VB.NET, tetapi sangat jarang yang menjelaskan secara detail tentang fungsi-fungsi dan pemrograman di dalam VB.NET. Di buku ini, secara terperinci Anda akan dibimbing bagaimana membuat database, membuat program (create program), tampilan login, menu, form, laporan, sampai dengan membuat file setup (installer). Selain itu, buku ini juga dilengkapi CD berisikan source code pembuatan program sehingga lebih memudahkan Anda dalam berlatih. Memanipulasi File Konfigurasi Junindar

Kuliah Berseri IlmuKomputer.Com Copyright © 2003 IlmuKomputer.Com

Biografi Penulis. Junindar Lahir di Tanjung Pinang, 21 Juni 1982. Menyelesaikan Program S1 pada jurusan Teknik Informatika di Sekolah Tinggi Sains dan Teknologi Indonesia (ST-INTEN-Bandung). Junindar mendapatkan Microsoft MVP VB pertanggal 1 oktober 2009. Senang mengutak-atik computer yang berkaitan dengan bahasa pemrograman. Keahlian, sedikit mengerti beberapa bahasa pemrograman seperti : VB.Net, LINQ, VBA. Reporting : Crystal Report (Under Program). Database : Access, paradox dan SQL Server 00/05. Simulation / Modeling Packages: Visio Enterprise, Rational Rose dan Power Designer. Dan senang bermain gitar, karena untuk bisa menjadi pemain gitar dan seorang programmer sama-sama membutuhkan seni. Pada saat ini bekerja di salah satu Perusahaan Swasta di BATAM sebagai Software Development. Mempunyai moto hidup : “Jauh lebih baik menjadi Orang Bodoh yang giat belajar, dari pada orang Pintar yang tidak pernah mengimplementasikan ilmunya”.

Kritik dan saran kirim ke : [email protected]

Memanipulasi File Konfigurasi Junindar

Related Documents


More Documents from ""