فرهاد خانلری
کارشناس ارشد شبکه مایکروسافت

آموزش به روز رسانی Connection String فایل web.config با کد

به روز رسانی رشته اتصال Sql در فایل webConfig توسط برنامه ، برنامه نویسی تحت WEB رو میتونیم با خیلی از زبان ها بنویسیم اما من در اینجا هدفم سی شارپ و Vb هست. در این آموزش یاد میگیریم چگونه می توان توسط کد نویسی برنامه ، رشته اتصال SQL Server رو در فایل webconfig در ASP.NET با استفاده اززبان های سی شارپ و VB.Net اضافه و بروز کنیم .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران
سرفصل های این مطلب
  1. فضاهای نام یا Name Space
  2. در #C
  3. در VB.Net
وب سایت توسینسو

در این قطعه کد چگونگی دسترسی و بروز رسانی اتصال هایی همچون Data Source,UserId,Password,InitialCatolog,Intergrated Security را کامل میکنیم.

فضاهای نام یا Name Space

ابتدا از فضاهای نام زیر جهت درج در ابتدای کد خود استفاده نمایید.

در #C

using System.Xml;
using System.Data.SqlClient;

در VB.Net

Imports System.Xml
Imports System.Data.SqlClient

قطعه کد مرتبط برای اضافه کردن و یا بروز کردن رشته اتصال در فایل webconfig در #C:

private void AddUpdateConnectionString(string name)
{
    bool isNew = false;
    string path = Server.MapPath("~/Web.Config");
    XmlDocument doc = new XmlDocument();
    doc.Load(path);
    XmlNodeList list = doc.DocumentElement.SelectNodes(string.Format("connectionStrings/add[@name='{0}']", name));
    XmlNode node;
    isNew = list.Count == 0;
    if (isNew)
    {
        node = doc.CreateNode(XmlNodeType.Element, "add", null);
        XmlAttribute attribute = doc.CreateAttribute("name");
        attribute.Value = name;
        node.Attributes.Append(attribute);
             
        attribute = doc.CreateAttribute("connectionString");
        attribute.Value = "";
        node.Attributes.Append(attribute);
  
        attribute = doc.CreateAttribute("providerName");
        attribute.Value = "System.Data.SqlClient";
        node.Attributes.Append(attribute);
    }
    else
    {
        node = list[0];
    }
    string conString = node.Attributes["connectionString"].Value;
    SqlConnectionStringBuilder conStringBuilder = new SqlConnectionStringBuilder(conString);
    conStringBuilder.InitialCatalog = "TestDB";
    conStringBuilder.DataSource = "myserver";
    conStringBuilder.IntegratedSecurity = false;
    conStringBuilder.UserID = "test";
    conStringBuilder.Password = "12345";
    node.Attributes["connectionString"].Value = conStringBuilder.ConnectionString;
    if (isNew)
    {
        doc.DocumentElement.SelectNodes("connectionStrings")[0].AppendChild(node);
    }
    doc.Save(path);
}

و این هم قطعه کد مرتبط برای اضافه کردن و یا بروز کردن رشته اتصال در فایل webconfig در VB.Net:

Private Sub AddUpdateConnectionString(name As String)
   Dim isNew As Boolean = False
   Dim path As String = Server.MapPath("~/Web.Config")
   Dim doc As New XmlDocument()
   doc.Load(path)
   Dim list As XmlNodeList = doc.DocumentElement.SelectNodes(String.Format("connectionStrings/add[@name='{0}']", name))
   Dim node As XmlNode
   isNew = list.Count = 0
   If isNew Then
       node = doc.CreateNode(XmlNodeType.Element, "add", Nothing)
       Dim attribute As XmlAttribute = doc.CreateAttribute("name")
       attribute.Value = name
       node.Attributes.Append(attribute)
 
       attribute = doc.CreateAttribute("connectionString")
       attribute.Value = ""
       node.Attributes.Append(attribute)
 
       attribute = doc.CreateAttribute("providerName")
       attribute.Value = "System.Data.SqlClient"
       node.Attributes.Append(attribute)
   Else
       node = list(0)
   End If
   Dim conString As String = node.Attributes("connectionString").Value
   Dim conStringBuilder As New SqlConnectionStringBuilder(conString)
   conStringBuilder.InitialCatalog = "TestDB"
   conStringBuilder.DataSource = "myserver"
   conStringBuilder.IntegratedSecurity = False
   conStringBuilder.UserID = "test"
   conStringBuilder.Password = "12345"
   node.Attributes("connectionString").Value = conStringBuilder.ConnectionString
   If isNew Then
            doc.DocumentElement.SelectNodes("connectionStrings")(0).AppendChild(node)
  End If
   doc.Save(path)
End Sub


فرهاد خانلری
فرهاد خانلری

کارشناس ارشد شبکه مایکروسافت

فرهاد خانلری ، مدرس شبکه و برنامه نویسی مبتنی بر زیرساخت های مایکروسافت ، سابقه فعالیت در موسسات و مراکز دولتی در قالب پروژه ، مشاوره و تدریس ، برنامه نویسی ++C ، سی شارپ و دات نت ، متخصص و مدرس شبکه های مبتنی بر سیستم عاملهای مایکروسافت و سرویس های مربوطه ، سخت افزار و ...

نظرات