数据库连接(正式库。测试库)读取外部文件
- 创建数据库连接类 Connection,此类为静态类
- 在该类中创建构造函数,调用读取外部文件函数,举例
public static class Connection
{
public static string AccountType = getAccountType();//外部调用此变量即可
-- static Connection()
-- {
-- //静态类中的构造函数,只加载一次,但是构造函数的执行优先级低于 静态变量成员,所以不能在此执行
-- getAccountType();
-- }
static string con29 = AccountType == "1" ?
"server=192.168.2.222;database=Order;uid=AppereUeatser;pwd=re5rrcrerererHQy" ://正式
"server=192.168.2.221;database=Order;uid=AererppUeatser;pwd=re5rrcrerererHQy";//测试
private static string conNBS = AccountType == "1" ?
"server=192.168.2.223;database=NrereBS1efgre7;uid=eAprepUeatser;pwd=re5rrcrerererHQy" ://正式
"server=192.168.2.224;database=NBrererSrere7;uid=AeeppUeatser;pwd=re5rrcrerererHQy";//测试
public static string Con29
{
get { return con29; }
set { con29 = value; }
}
public static string ConNBS
{
get { return conNBS; }
set { conNBS = value; }
}
/// <summary>
/// 获取账户类型:0测试账户 1 正式账户
/// </summary>
public static void getAccountType()
{
~~string path = System.IO.Directory.GetCurrentDirectory();~~ //这种写法不可靠,获取路径错误
string path = System.AppDomain.CurrentDomain.SetupInformation.ApplicationBase; //推荐这种写法
XmlDocument document = new XmlDocument();
document.Load(path + "\\company.xml");
XmlNodeList paraList = document.SelectSingleNode("UserAccountType").ChildNodes;
foreach (XmlNode Root in paraList)
{
if (Root.Name.Equals("AccountType"))// 账户类型:0测试账户 1 正式账户
{
AccountType = Root.InnerText;
}
}
}
}
- 类成员,执行先后顺序
类的静态变量>类的静态构造函数>类的普通变量>基类的静态变量>基类的静态构造函数>基类的普通变量>基类的构造函数>类的构造函数