Я знаю, что есть some similar issue.Изменить ConnectionString в VS2005 (C#)
Но, все же вопрос не отвечает! Мне нужно изменить строка подключения не добавляет новую.
Я знаю, что есть some similar issue.Изменить ConnectionString в VS2005 (C#)
Но, все же вопрос не отвечает! Мне нужно изменить строка подключения не добавляет новую.
Это поможет вам!
/// <summary>
/// Add a connection string to the connection
/// strings section and store it in the
/// configuration file.
/// </summary>
/// <param name="csName">The name of the property.</param>
/// <param name="connectionString">The connectionstring as specified.</param>
public static void AddConnectionStrings(string csName, string connectionString)
{
// Get the configuration file.
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Add the connection string.
ConnectionStringsSection csSection = config.ConnectionStrings;
csSection.ConnectionStrings.Add(
new ConnectionStringSettings(csName,
connectionString, "System.Data.SqlClient"));
// Save the configuration file.
config.Save(ConfigurationSaveMode.Full);
}
Ну для обновления было трудно найти какой-либо полезный код для обновления в ConnectionString. Не удалось установить , чтобы обновить строку соединения, поэтому я удалил строку подключения и добавлю новую. Ну разве это не странно? Microsoft оставила что-то отменить ... Ну, может быть, это не полезно , чтобы изменить ваш app.config, но я все равно должен был это сделать. Так что динамические файлы app.config или web.config немного странны, потому что вы не можете динамически обновлять его. Нет, вам нужно сначала удалить его с помощью диспетчера конфигурации.
/// <summary>
/// First remove the old connectionstring and after that
/// add a connection string to the connectionstrings
/// section and store it in the configuration file.
/// </summary>
/// <param name="csName">The name of the property.</param>
/// <param name="connectionString">The connectionstring as specified.</param>
public static void UpdateConnectionStrings(string csName, string connectionString)
{
// Get the configuration file
System.Configuration.Configuration config =
ConfigurationManager.OpenExeConfiguration(
ConfigurationUserLevel.None);
// Remove the existing connectionstring.
config.ConnectionStrings.ConnectionStrings.Remove(csName);
// Add the connectionstring
ConnectionStringsSection csSection = config.ConnectionStrings;
csSection.ConnectionStrings.Add(
new ConnectionStringSettings(csName,
connectionString, "System.Data.SqlClient"));
// Save the configuration file
config.Save(ConfigurationSaveMode.Full);
}
Это старый вопрос, и я хотел бы просто знать, какое решение в конечном итоге выработало для вас. Если вы еще не решили, this question пытается ответить на него.
Пожалуйста, будьте более конкретным. Можете ли вы объяснить, почему вы хотите изменить строку? – StingyJack 2008-11-24 12:50:02
Ну, представьте себе этот случай. У вас есть одно бизнес-приложение, которое поддерживает несколько компаний, каждая компания имеет другую базу данных, поэтому при входе пользователя в систему он должен сначала выбрать БД. Вот почему мне нужно изменить файл DB. – 2008-11-24 15:11:51