06 พฤษภาคม 2554

app.config เก็บอะไรได้หลายอย่าง

ใน VB.NET App.Config เอาไว้ทำอะไร คงมีคำถามมากมาย ???
เอากันตรงตัวเลย App = Application + Config = Configuration
เว้ากันซื่อ ๆ ก็ เอาไว้กำหนดค่าต่างๆของแอพพลิเคชัน เพื่อเอาไว้ใช้งานในระบบงาน

เช่น การกำหนดค่าต่าง ๆ เช่น กำหนดค่าคงที่, กำหนด Connectionstring เป็นต้น

เราสามารถสร้างไฟล์ app.config ในโปรเจกต์ ได้โดย
1. เลือกเมนู Project
2. เลือก Add New Item...
3. ที่รายการ Common Items เลือก General แล้วเลือกรายการ Application Configuration File
ที่ช่อง Name จะมีชื่อ app.config ให้คลิก OK

เราจะได้ไฟล์ ชื่อ app.config ปรากฎอยู่ในหน้าต่าง Solution Explorer
ให้ทำการเปิดขึ้นมาดู แล้วเพิ่มโค้ด ภายใต้บล๊อกคำสั่ง <appSettings> ... </appSettings> ดังนี้

<?xml version="1.0" encoding="utf-8" ?>

 <configuration>

  <appSettings>

   <add key="name" value="Kasem"/>

   <add key="surname" value="Kamolchaipisit"/>

  </appSettings>


 </configuration>

หากเราต้องการเรียกใช้งานค่าจากไฟล์ app.config
ให้ทำการ Imports System.Configuration ก่อน เช่น


' ประกาศไว้ต้นโปรแกรม
Imports System.Configuration
' คำสั่งในโปรแกรม
' ...

' การเรียกใช้งาน
Dim appSet As New AppSettingsReader()
' หาต้องการดึงค่าใน app.config มาเก็บไว้ในตัวแปร หรือนำไปใช้ตามต้องการ เขียนคำสั่ง ดังนี้
Dim myName , mySurname As String 
MyName = appSet.GetValue("name", GetType(String))  

' name คือชื่อของ key ใน app.config
MySurname = appSet.GetValue("surname", GetType(String))

' surname คือชื่อของ key ใน app.config
Messagebox.Show(MyName & "  " & MySurName)  ' จะปรากฎชื่อ Kasem Kamolchaipisit



หลายคนที่เขียนโปรแกรมจะประกาศ Connection String ไว้ในฟอร์มที่ทำงานโดยตรง ซึ่งมีข้อเสีย ถ้าต้องการเปลี่ยนค่าของ Connection String ใหม่ ก็ต้องแก้ไขฟอร์มทุกฟอร์มใหม่ สำหรับ app.config ก็ให้เราสามารถกำหนดค่าของ Connection String ได้แล้วนำไปใช้ภายใต้ฟอร์มต่าง ๆ ดังนั้นหากต้องการแก้ไขค่า ก็สามารถทำได้ใน app.config ที่เดียวซึ่งก็จะทำให้ทุกฟอร์มสามารถเรียกใช้ได้ทันที่
สำหรับการประกาศ Connection String ภายใต้ไฟล์ app.config เราจะเขียนไว้ภายใต้บล๊อกคำสั่ง <connectionStrings>...</connectionStrings> เช่น

<connectionStrings>

  <add name="myConnect" connectionString=""Data Source=ชื่อเซิร์ฟเวอร์;Initial Catalog=ชื่อฐานข้อมูล;Integrated Security=True" providerName="System.Data.SqlClient" />

</connectionStrings>

จากนั้นที่ฟอร์มแต่ะลฟอร์ม เมื่อต้องการเชื่อมต่อฐานข้อมูลแล้วเรียกใช้งาน Connection String ก็ให้ทำการ Imports คลาส ดังนี้

Imports System.Configuration

จากนั้นเขียนคำสั่งเรียกใช้งาน connection string โดยเขียนไว้หลังจาก Public Class ชื่อ Class เช่น

Imports System.Data
Imports System.Data.SqlClient
Imports System.Data.Configuration

Public Class Form1
Dim cs As String = ConfigurationSettings.AppSettings("myConnect")

Private Sub Form1_Load .....
' เขียนคำสั่งติดต่อตามต้องการ
End Sub
End Class

สวัสดี
"I Believe in You"

Copyright(c) 2007 - 2022 by Kasem Kamolchaipisit.