我想在WINFORM中通过程序来修改在app.config中原来的配置 ConnStrConfig csc = new ConnStrConfig();
csc.Db = config_db.Text.Trim();
csc.PassWord = config_passWord.Text.Trim();
csc.Server = config_tbServerName.Text.Trim();
csc.Trust = config_trustConn.Checked;
csc.UserName = config_tbUserName.Text.Trim();
Properties.Settings.Default.ConStr = csc.ToString();
Properties.Settings.Default.Save();
MessageBox.Show("连接测试通过,已保存连接信息到配置文件", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
在Properties.Settings.Default.ConStr = csc.ToString();中出现 错误 1 无法对属性或索引器“ChangeDBLink.Properties.Settings.ConStr”赋值 -- 它是只读的 从而更改不了,请帮忙?
csc.Db = config_db.Text.Trim();
csc.PassWord = config_passWord.Text.Trim();
csc.Server = config_tbServerName.Text.Trim();
csc.Trust = config_trustConn.Checked;
csc.UserName = config_tbUserName.Text.Trim();
Properties.Settings.Default.ConStr = csc.ToString();
Properties.Settings.Default.Save();
MessageBox.Show("连接测试通过,已保存连接信息到配置文件", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
在Properties.Settings.Default.ConStr = csc.ToString();中出现 错误 1 无法对属性或索引器“ChangeDBLink.Properties.Settings.ConStr”赋值 -- 它是只读的 从而更改不了,请帮忙?
http://www.cnblogs.com/yunhuasheng/archive/2009/03/19/1113091.html
正确,当然你也可以以xml文件进行修改,但要重新启动应用程序
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Configuration;namespace SMSTimer
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
} private void button2_Click(object sender, EventArgs e)
{
this.Close();
} private void button1_Click(object sender, EventArgs e)
{
//修改config配置文件
Configuration config;
string configPath = System.Windows.Forms.Application.ExecutablePath;
config = ConfigurationManager.OpenExeConfiguration(configPath);
ConnectionStringsSection connectionString = (ConnectionStringsSection)config.GetSection("connectionStrings");
connectionString.ConnectionStrings["DBConn"].ConnectionString = "Data Source="+textBox1.Text.Trim()+";Initial Catalog="+textBox2.Text.Trim()+";Persist Security Info=True;User ID="+textBox3.Text.Trim()+";Password="+textBox4.Text.Trim();
config.Save(); MessageBox.Show("修改成功!","提示");
this.DialogResult = DialogResult.OK;
} private void Form3_Load(object sender, EventArgs e)
{
Configuration config;
string configPath = System.Windows.Forms.Application.ExecutablePath;
config = ConfigurationManager.OpenExeConfiguration(configPath);
ConnectionStringsSection connectionString = (ConnectionStringsSection)config.GetSection("connectionStrings"); string connstr = connectionString.ConnectionStrings["DBConn"].ConnectionString;
string usr = "", pwd = "", svr = "", dbn = "";
string[] tempstrs = connstr.Split(';'); foreach (string tempstr in tempstrs)
{
string[] strs = tempstr.Split('=');
switch (strs[0])
{
case "User ID": usr = strs[1]; break;
case "Password": pwd = strs[1]; break;
case "Data Source": svr = strs[1]; break;
case "Initial Catalog": dbn = strs[1]; break;
}
}
textBox1.Text = svr;
textBox2.Text = dbn;
textBox3.Text = usr;
textBox4.Text = pwd;
} }
}