110,544
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public class UseConfigurationManager
{
static void Main()
{
string connStringName = "NorthwindConnectionString";
//问题一: 如果配置文件中没有添加连接字符串节点,此时setting得到的值是什么?
//在下面的if语句判断中如何进行判断?
ConnectionStringSettings setting = ConfigurationManager.ConnectionStrings[connStringName];
if(setting == null)
{
setting = new ConnectionStringSetting();
setting.Name = connStringName;
setting.ConnectionString = RetrieveConnectionString();
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLever.None);
config.ConnectionStrings.ConnectionStrings.Add(setting);
config.Save();
//问题二:假定已经向配置文件中添加了指定名称的连接字符串,我除了在运行时可以读取到该连接字符串
//能否在程序停止运行后或在运行时通过查看config文件来实际查看该config文件的连接字符串.
}
}
}
string procName = Process.GetCurrentProcess().ProcessName + ".exe";
Configuration config = null;
config = ConfigurationManager.OpenExeConfiguration(procName);
config.ConnectionStrings.ConnectionStrings.Add(setting);
config.Save();
static void Main(string[] args)
{
string fileName = Process.GetCurrentProcess().ProcessName + ".exe.config";
if (!File.Exists(fileName))
{
ConnectionStringSettings setting = null;
setting = ConfigurationManager.ConnectionStrings["Northwind"];
SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
csb.DataSource = "(local)";
csb.InitialCatalog = "Northwind";
csb.IntegratedSecurity = true;
setting = new ConnectionStringSettings("Northwind", csb.ConnectionString);
string procName = Process.GetCurrentProcess().ProcessName + ".exe";
Configuration config = null;
config = ConfigurationManager.OpenExeConfiguration(procName);
config.ConnectionStrings.ConnectionStrings.Add(setting);
config.Save();
}
}
using System;
using System.IO;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public class Test{
static void Main(string[] args)
{
string basePath = AppDomain.CurrentDomain.BaseDirectory;
string fileName = basePath + "\\App.config";
Console.WriteLine("程序基目录为: {0}", fileName);
if (!File.Exists(fileName))
File.Create(fileName).Close();
string configName = "Northwind";
AddConfig(configName,basePath);
}
static void AddConfig(string configName,string basePath)
{
ConnectionStringSettings setting = null;
setting = ConfigurationManager.ConnectionStrings[configName];
if (setting == null)
{
Console.WriteLine("配置文件中不存在名为:{0}的配置文件项,正在动态构造...",configName);
SqlConnectionStringBuilder csb = new SqlConnectionStringBuilder();
csb.DataSource = "(local)";
csb.InitialCatalog = "Northwind";
csb.IntegratedSecurity = true;
setting = new ConnectionStringSettings(configName, csb.ConnectionString);
Configuration config = null;
config = ConfigurationManager.OpenExeConfiguration(basePath); //问题
//Console.WriteLine(config.FilePath);
config.ConnectionStrings.ConnectionStrings.Add(setting);
config.Save();
}
}
}
string cfgfile = AppDomain.CurrentDomain.BaseDirectory + "\\App.config";
if (!System.IO.File.Exists(cfgfile))
System.IO.File.Create(cfgfile).Close();
string connStringName = "abc";
Configuration config = ConfigurationManager.OpenExeConfiguration(cfgfile);
ConnectionStringSettings setting = config.ConnectionStrings.ConnectionStrings[connStringName];
if (setting == null)
{
setting = new ConnectionStringSettings();
setting.Name = connStringName;
setting.ConnectionString = "12313132";
config.ConnectionStrings.ConnectionStrings.Add(setting);
config.Save();
}