关闭

一种获取数据库访问串的方法

标签: 数据库exceptionstringencodingxmldatabase
552人阅读 评论(0) 收藏 举报

该方法优点就是将连接串中的的用户名和密码放到另一个文件中(其它目录下).让别人不能轻意看见.

private static string GetDbConnString()
  {
   string m_return_val;

//得到连接串的XML文件
   string DataBaseConfigFile = ConfigurationSettings.AppSettings["DatabaseConfigFile"];
 //设置XML文件中连接串所在的接点  
   string m_XPath = "/configuration/Database";

//读入XML文件,只读式,有缓冲,速度快.
   XPathDocument doc = new XPathDocument(DataBaseConfigFile);

//创建导航
   XPathNavigator nav = doc.CreateNavigator();

//得到设置的节点集
   XPathNodeIterator iter = nav.Select(m_XPath);

//得到其值,注意,iter并不是生成就指向第一个记录.要movenext()一下.
   if (iter.MoveNext())
   {
    m_return_val = iter.Current.GetAttribute("connectionString","");;

//以下为多余(本人觉得
    if (iter.MoveNext())
    {
     throw new Exception("Error: /nCSDNLibrary.GetConfigClass.GetConfigString/n满足条件的记录过多!!");
    }
   }

//如果没有获得
   else
   {
    throw new Exception("Error: /nCSDNLibrary.GetConfigClass.GetConfigString/n没有满足条件的记录!!");
   }

//将串中的/t/n/t除去
   string ExStr = "/r/n/t ";
   m_return_val = m_return_val.Trim(ExStr.ToCharArray());
   return m_return_val;
  }

web.config中的AppSettings节中的内容为:

<appSettings>
    <add key="DatabaseConfigFile" value="E:/VirtualBankLoan/Service/DataBase.Config" />
     </appSettings>

而dataBase.Config内容为:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <Database connectionString="uid=sa;pwd=19760519;initial catalog=Pkc_Demo;data source=(local);Connect Timeout=2000" />
</configuration>

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:123076次
    • 积分:2012
    • 等级:
    • 排名:第19807名
    • 原创:66篇
    • 转载:29篇
    • 译文:0篇
    • 评论:7条