Я пытаюсь проверить соединение и сохранить учетные данные в файле конфигурации, но я продолжаю получать эту ошибку «Свойство ConnectionString не было инициализировано».
Вот код С#
private void button1_Click(object sender, EventArgs e)
{
try
{
StringBuilder str = new StringBuilder("server=");
str.Append(textBox1.Text);
str.Append(";database=");
str.Append(textBox2.Text);
str.Append(";UID=");
str.Append(textBox3.Text);
str.Append(";password=");
str.Append(textBox4.Text);
string strcon = str.ToString();
updateConfigFile(strcon);
SqlConnection con = new SqlConnection();
//Refresh Connection String each time else
//it will use previous connection string.
ConfigurationManager.RefreshSection("connectionStrings");
con.ConnectionString = ConfigurationManager.ConnectionStrings["con"].ConnectionString;
//Check the new connection string is working or not
con.Open();
SqlCommand cmd = new SqlCommand("select * from egtab3");
cmd.ExecuteNonQuery();
MessageBox.Show("Connected Sucessfully");
con.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public void updateConfigFile(string con)
{
//Updating Config File
XmlDocument xmldoc = new XmlDocument();
//Loading the Config File
xmldoc.Load(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
foreach (XmlElement xElement in xmldoc.DocumentElement)
{
if (xElement.Name == "connectionStrings")
{
//Setting the connection string
xElement.FirstChild.Attributes[4].Value = con;
}
}
//writing the connection string in config file
xmldoc.Save(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile);
}
а вот xml код
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="con" providerName="using System.Data.SqlClient"
connectionString=""/>
</connectionStrings>
</configuration>