请教各位高手一个app.config的问题 我想在一个app.config配置数据库联接字符串。并且我希望我的程序在第一次启动时配置联接数据库,而以后不用配置。请问各位高手有没有好的方案? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 那就再写段程序,把你的配置写会到app.config中去 xmldocument类去操作app.config文件就可以实现你所说的功能 跟楼主情况类似,我是直接在windows应用工程中加了一个配置文件(config文件),想以此来改变连接的数据源。 当我改变数据源时就出现问题:提示:sql server 不存在或拒绝访问!请高手讲解! public class AppConfig { //System.Configuration.ConfigurationSettings Config; private Configuration Config; public AppConfig() { Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); } public void Get_Config() { MessageBox.Show(Config.AppSettings.Settings["test"] == null ? "0" : Config.AppSettings.Settings["test"].Value); } public void Save_Config() { SaveSetting("test", "test"); Config.Save(); } private void SaveSetting(string key, string value) { if (Config.AppSettings.Settings[key] == null) { Config.AppSettings.Settings.Add(key, value); } else { Config.AppSettings.Settings[key].Value = value; } } }你也可以用Config.ConnectionStrings app.config是这样的:<?xml version="1.0" encoding="utf-8"?><configuration><appSetting> <add key="server" value="."/> <add key="uid" value="sa"/> <add key="pwd" value=""/> <add key="database" value="影院"/> </appSetting></configuration>联接字符串是这样的:this.Connstring="server="+System.Configuration.ConfigurationSettings.AppSettings["server"]+";uid="+System.Configuration.ConfigurationSettings.AppSettings["uid"]+";pwd="+System.Configuration.ConfigurationSettings.AppSettings["pwd"]+";database="+System.Configuration.ConfigurationSettings.AppSettings["database"];错误提示是这样的:无法识别的配置节 appSetting app.config:<?xml version="1.0" encoding="gb2312"?><AppConfig><!--数据库连接字符串--><setting key="SQLConn" value="server=(local);database=supervise;uid=sa;pwd=1234"/></AppConfig>读取:#region 读取配置文件 /// <summary> /// 读取配置文件 /// </summary> /// <param name="path">配置文件路径</param> /// <param name="key">要获取值的键名</param> /// <returns>键值</returns> public static string GetSettings(string path, string key) { if (!System.IO.File.Exists(path)) return string.Empty; string value = string.Empty; System.Xml.XmlTextReader xtr = new System.Xml.XmlTextReader(path); try { while (xtr.Read()) { if (xtr.Name.ToLower() == "setting" && xtr.HasAttributes) { xtr.MoveToAttribute("key"); if (xtr.Value.ToLower() == key.ToLower()) { xtr.MoveToAttribute("value"); value = xtr.Value; break; } } } } finally { xtr.Close(); } return value; } #endregion socket 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。" 创建xml,save时报,正在被另一进程使用 WPF textbox 组合框回车问题 C# 截屏问题 各位弟兄,帮帮忙吧,兄弟我先谢谢各位了,时间间隔问题? 根据文件的存在与否创建文件 DirectoryEntry.Properties["AccessRead"]的问题 怎样在web.config中将一个页面设置为可匿名登录的。 WIX 如何限制安装的用户? 如何取一方法的所在的命名空间名称和类名呢? 怎么样调整控件自适应窗体大小
当我改变数据源时就出现问题:提示:sql server 不存在或拒绝访问!
请高手讲解!
{
//System.Configuration.ConfigurationSettings Config;
private Configuration Config;
public AppConfig()
{
Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
} public void Get_Config()
{
MessageBox.Show(Config.AppSettings.Settings["test"] == null ? "0" : Config.AppSettings.Settings["test"].Value);
} public void Save_Config()
{ SaveSetting("test", "test");
Config.Save(); } private void SaveSetting(string key, string value)
{
if (Config.AppSettings.Settings[key] == null)
{
Config.AppSettings.Settings.Add(key, value);
}
else
{
Config.AppSettings.Settings[key].Value = value;
}
}
}你也可以用Config.ConnectionStrings
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSetting>
<add key="server" value="."/>
<add key="uid" value="sa"/>
<add key="pwd" value=""/>
<add key="database" value="影院"/>
</appSetting>
</configuration>联接字符串是这样的:
this.Connstring="server="+System.Configuration.ConfigurationSettings.AppSettings["server"]+";uid="+System.Configuration.ConfigurationSettings.AppSettings["uid"]+";pwd="+System.Configuration.ConfigurationSettings.AppSettings["pwd"]+";database="+System.Configuration.ConfigurationSettings.AppSettings["database"];错误提示是这样的:
无法识别的配置节 appSetting
<?xml version="1.0" encoding="gb2312"?>
<AppConfig>
<!--数据库连接字符串-->
<setting key="SQLConn" value="server=(local);database=supervise;uid=sa;pwd=1234"/>
</AppConfig>
读取:
#region 读取配置文件
/// <summary>
/// 读取配置文件
/// </summary>
/// <param name="path">配置文件路径</param>
/// <param name="key">要获取值的键名</param>
/// <returns>键值</returns>
public static string GetSettings(string path, string key)
{
if (!System.IO.File.Exists(path))
return string.Empty; string value = string.Empty; System.Xml.XmlTextReader xtr = new System.Xml.XmlTextReader(path); try
{
while (xtr.Read())
{
if (xtr.Name.ToLower() == "setting" && xtr.HasAttributes)
{
xtr.MoveToAttribute("key"); if (xtr.Value.ToLower() == key.ToLower())
{
xtr.MoveToAttribute("value");
value = xtr.Value;
break;
}
}
}
}
finally
{
xtr.Close();
} return value;
}
#endregion