چگونه با استفاده از برنامه، رشته اتصال sql در فایل webconfig رااضافه و بروز کنیم

یکشنبه 12 مرداد 1393

در این مقاله من اینکه چگونه می توان با استفاده از برنامه، رشته اتصال را در فایل webconfig در ASP.NET با استفاده از C#و VB.Net اضافه و بروز کنیم را توضیح می دهم.

چگونه  با استفاده از برنامه، رشته اتصال sql در فایل webconfig   رااضافه و بروز کنیم

در اینجا چگونگی دسترسی  و بروز رسانی مولفه های مختلف رشته اتصال همانند  Data Source,UserId,Password,InitialCatolog,Intergrated Security را توضیح خواهم داد.

فضاهای نام:

در ابتدا فضاهای نام زیر را به پروژه خود اضافه کنید:


 using System.Xml;
using System.Data.SqlClient;
Imports System.Xml
Imports System.Data.SqlClient
قطعه کد مرتبط برای اضافه کردن و یا بروز کردن رشته اتصال در فایل webconfig  :
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);
}
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

 

جعفری

نویسنده 22 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید