2011-05-09 3 views
0

내 샘플 app.config 파일은app.config 파일에서 connectionstring 값을 설정하는 방법은 무엇입니까?

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <connectionStrings> 
    <add name="DBconn" connectionString="driver={MySQL ODBC 5.1 Driver};server=10.78.17.229;database=grocery;uid=root;pwd=admin;"/> 
    </connectionStrings> 
</configuration> 

내가 C# 코드에서 값을 ConnectionString을 설정할 수 있습니다. 파일 내용을 변경할 수 없습니다. 도와주세요.

+1

당신은 일반적으로 단지 당신이, 관리자로 좋은 전체 응용 프로그램을하지 실행할 때 쓰기 권한이 생각. –

답변

0

이 방법이 꼭 필요한 것은 아니지만 어쨌든이 방법이 도움이 될 수 있을까요?

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
ConfigurationSectionCollection sections = config.Sections; 

foreach (ConfigurationSection section in sections) 
{ 
    ConnectionStringsSection connSettings = section as ConnectionStringsSection; 

    if (connSettings != null) 
    { 
     connSettings.ConnectionStrings[0].ConnectionString = "...."; 
    } 
} 
+0

감사합니다, Chaitanya – user626660

1

App.cofig 코드

 <?xml version="1.0" encoding="utf-8"?> 
     <configuration> 
    <configSections> 
      <section name="dataConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral,  PublicKeyToken=b03f5f7f11d50a3a" /> 
    </configSections> 
    <connectionStrings> 
    <add name="DbDatabase" providerName="System.Data.SqlClient" connectionString=""/> 
</connectionStrings> 

C# 코드

public void updateConfigFile(string con) 
    { 
     //updating config file 
     XmlDocument XmlDoc = new XmlDocument(); 
     //Loading the Config file 
     XmlDoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile); 
     // XmlDoc.Load("App.config"); 
     foreach (XmlElement xElement in XmlDoc.DocumentElement) 
     { 
      if (xElement.Name == "connectionStrings") 
      { 
       //setting the coonection string 
       xElement.FirstChild.Attributes[2].Value = con; 
      } 
     } 
     //writing the connection string in config file 
     XmlDoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile); 
     //XmlDoc.Save("App.config"); 
    } 



private void btn_Connect_Click(object sender, EventArgs e) 
    { 
     StringBuilder Con = new StringBuilder("Data Source="); 
     Con.Append(txt_ServerName.Text); 
     Con.Append(";Initial Catalog="); 
     Con.Append(txt_DatabaseName.Text); 
     if (String.IsNullOrEmpty(txt_UserId.Text) &&String.IsNullOrEmpty(txt_Password.Text)) 
      Con.Append(";Integrated Security=true;"); 
     else 
     { 
      Con.Append(";User Id="); 
      Con.Append(txt_UserId.Text); 
      Con.Append(";Password="); 
      Con.Append(txt_Password.Text); 
     } 
     string strCon = Con.ToString(); 
     updateConfigFile(strCon); 

     DatabaseTableDA da = new DatabaseTableDA(); 
     tableList = da.Select_Tables(); 
     this.lstTables.DataSource = tableList; 
    } 
+0

답변이 이전 답변과 어떻게 다른지에 대한 설명에 설명을 추가하십시오. (OP를 통해 이전 대답에 대한 의견을 제시하면 해결됩니다) –

관련 문제