public class DBConfigVariable
{
/// <summary>
/// 读取配置文件连接数据库串
/// </summary>
/// <param name="i"></param>
public void ReadAppConfig(int i)
{
string strDataSouce = "";
string strUserName = "";
string strUserPassword = "";
string connstr = "";
//生产管理连接串
if (i == 1)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConn"].ToString();
}
//1库连接串
if (i == 2)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnTool"].ToString();
}
//2库连接串
if (i == 3)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnWMS"].ToString();
}
//数据源
strDataSouce = connstr.Split(';')[0].ToString();
DBConfig.DataSource = strDataSouce.Substring(12);
//数据库用户名
strUserName = connstr.Split(';')[1].Trim();
DBConfig.UserName = strUserName.Substring(8);
//用户密码
strUserPassword = connstr.Split(';')[2].Trim();
DBConfig.Password = strUserPassword.Substring(9);
/// 接收界面上修改的数据库配置,并组织好newKey.更新app.config文件
/// </summary>
/// <param name="i"></param>
public void UpdateDataBaseConfig(int i)
{
string newKeyValue = "";
string newKey = "";
newKeyValue = string.Format("Data Source={0};User ID={1};Password={2};Persist Security Info=True;",
DBConfig.DataSource.ToString(), DBConfig.UserName.ToString(), DBConfig.Password.ToString());
if (i == 1)
{
newKey = "OracleConn";
UpdateConnectionStringsConfig("MESAppProject.Properties.Settings.ConnectionString1", newKeyValue, "System.Data.OracleClient");
}
if (i == 2)
{
newKey = "OracleConnTool";
}
if (i == 3)
{
newKey = "OracleConnWMS";
}
UpdateAppConfig(i, newKey, newKeyValue);
}
/// <summary>
/// 修改数据库连接串
/// </summary>
/// <param name="i"></param>
private void UpdateAppConfig(int i,string newKey,string newValue)
{
bool isModifield = false;
foreach (string key in System.Configuration.ConfigurationManager.AppSettings)
{
if (key == newKey)
{
isModifield = true;
}
}
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (isModifield)
{
config.AppSettings.Settings.Remove(newKey);
}
config.AppSettings.Settings.Add(newKey, newValue);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
/// <summary>
/// 更新connectionStrings配置节
/// </summary>
/// <param name="newName">连接字符串名称</param>
/// <param name="newConString">连接字符串内容</param>
/// <param name="newProviderName">数据提供程序名称</param>
private static void UpdateConnectionStringsConfig(string newName,string newConString,string newProviderName)
{
bool isModified = false; //记录连接串是否已经存在
//如果要更改的连接串已经存在
if (ConfigurationManager.ConnectionStrings[newName] !=null)
{
isModified = true;
}
//新建一个连接字符串实例
ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName);
//打开可执行的配置文件*.exe.config
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//如果连接串已经存在,首先删除它
if(isModified)
{
config.ConnectionStrings.ConnectionStrings.Remove(newName);
}
//将新的连接串添加到配置文件中
config.ConnectionStrings.ConnectionStrings.Add(mySettings);
//保存对配置文件所作的更改
config.Save(ConfigurationSaveMode.Modified);
//强制重新载入配置文件的ConnectionStrings配置节
ConfigurationManager.RefreshSection("ConnectionStrings");
}
/// <summary>
/// 数据库连接变量
/// </summary>
public static class DBConfig
{
public static string DataSource;
public static string GetDataSource
{
get { return DataSource; }
}
public static string SetDataSource
{
set { DataSource = value; }
}
public static string UserName;
public static string GetUserName
{
get { return UserName; }
}
public static string SetUserName
{
set { UserName = value; }
}
public static string Password;
public static string GetPassword
{
get { return Password; }
}
public static string SetPassword
{
set { Password = value; }
}
}
}
{
/// <summary>
/// 读取配置文件连接数据库串
/// </summary>
/// <param name="i"></param>
public void ReadAppConfig(int i)
{
string strDataSouce = "";
string strUserName = "";
string strUserPassword = "";
string connstr = "";
//生产管理连接串
if (i == 1)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConn"].ToString();
}
//1库连接串
if (i == 2)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnTool"].ToString();
}
//2库连接串
if (i == 3)
{
connstr = System.Configuration.ConfigurationManager.AppSettings["OracleConnWMS"].ToString();
}
//数据源
strDataSouce = connstr.Split(';')[0].ToString();
DBConfig.DataSource = strDataSouce.Substring(12);
//数据库用户名
strUserName = connstr.Split(';')[1].Trim();
DBConfig.UserName = strUserName.Substring(8);
//用户密码
strUserPassword = connstr.Split(';')[2].Trim();
DBConfig.Password = strUserPassword.Substring(9);
}
/// 接收界面上修改的数据库配置,并组织好newKey.更新app.config文件
/// </summary>
/// <param name="i"></param>
public void UpdateDataBaseConfig(int i)
{
string newKeyValue = "";
string newKey = "";
newKeyValue = string.Format("Data Source={0};User ID={1};Password={2};Persist Security Info=True;",
DBConfig.DataSource.ToString(), DBConfig.UserName.ToString(), DBConfig.Password.ToString());
if (i == 1)
{
newKey = "OracleConn";
UpdateConnectionStringsConfig("MESAppProject.Properties.Settings.ConnectionString1", newKeyValue, "System.Data.OracleClient");
}
if (i == 2)
{
newKey = "OracleConnTool";
}
if (i == 3)
{
newKey = "OracleConnWMS";
}
UpdateAppConfig(i, newKey, newKeyValue);
}
/// <summary>
/// 修改数据库连接串
/// </summary>
/// <param name="i"></param>
private void UpdateAppConfig(int i,string newKey,string newValue)
{
bool isModifield = false;
foreach (string key in System.Configuration.ConfigurationManager.AppSettings)
{
if (key == newKey)
{
isModifield = true;
}
}
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
if (isModifield)
{
config.AppSettings.Settings.Remove(newKey);
}
config.AppSettings.Settings.Add(newKey, newValue);
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
}
/// <summary>
/// 更新connectionStrings配置节
/// </summary>
/// <param name="newName">连接字符串名称</param>
/// <param name="newConString">连接字符串内容</param>
/// <param name="newProviderName">数据提供程序名称</param>
private static void UpdateConnectionStringsConfig(string newName,string newConString,string newProviderName)
{
bool isModified = false; //记录连接串是否已经存在
//如果要更改的连接串已经存在
if (ConfigurationManager.ConnectionStrings[newName] !=null)
{
isModified = true;
}
//新建一个连接字符串实例
ConnectionStringSettings mySettings = new ConnectionStringSettings(newName, newConString, newProviderName);
//打开可执行的配置文件*.exe.config
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//如果连接串已经存在,首先删除它
if(isModified)
{
config.ConnectionStrings.ConnectionStrings.Remove(newName);
}
//将新的连接串添加到配置文件中
config.ConnectionStrings.ConnectionStrings.Add(mySettings);
//保存对配置文件所作的更改
config.Save(ConfigurationSaveMode.Modified);
//强制重新载入配置文件的ConnectionStrings配置节
ConfigurationManager.RefreshSection("ConnectionStrings");
}
/// <summary>
/// 数据库连接变量
/// </summary>
public static class DBConfig
{
public static string DataSource;
public static string GetDataSource
{
get { return DataSource; }
}
public static string SetDataSource
{
set { DataSource = value; }
}
public static string UserName;
public static string GetUserName
{
get { return UserName; }
}
public static string SetUserName
{
set { UserName = value; }
}
public static string Password;
public static string GetPassword
{
get { return Password; }
}
public static string SetPassword
{
set { Password = value; }
}
}
}