我自定义了一个XML文件,里面是我要连接的数据源!按照以前写法是:
strcon="={IBM INFORMIX ODBC DRIVER};Host=192.168.0.3;Server=life;Service=1527;Protocol=olsoctcp;Database=lifearchive;UID=informix;PWD=dztech;";
odbcconnection odbccon=new (strcon);
odbcdataadpater odbcda=new odbcdataadpater("select * from table",odbccon)
......但是这个数据源有可能会变,所以把它写成一个XML文件,只需要更改这个XML配置文件就可以了,不需要更改后台代码!XML文件内容如下:<?xml version="1.0" encoding="utf-8" ?>
<Config>
  <DATASOURCE>Driver={IBM INFORMIX ODBC DRIVER};Host=192.168.0.3;Server=life;Service=1527;Protocol=olsoctcp;Database=lifearchive;UID=informix;PWD=dztech;</DATASOURCE>
</Config>但是我的后台代码该怎样引用呢??我的的是VS2005(Winform)!请哪位高手给予指点!尽可能详细一点......

解决方案 »

  1.   

    XML文件如下:<?xml version="1.0" encoding="utf-8" ?>
    <JiuJiu.DbAccess>
      <DbType>Access</DbType>
      <DbConnections>
        <DbConnection>
          <Name>Access</Name>
          <ProviderName>System.Data.OleDb</ProviderName>
            <ConnectionString>provider=Microsoft.jet.oledb.4.0;data source=e:\data.mdb</ConnectionString>
          </DbConnection>
        <DbConnection>
          <Name>SqlServer</Name>
          <ProviderName>System.Data.SqlClient</ProviderName>
          <ConnectionString>Server=Tcp:(local);uid=sa;pwd=sa;database=jiujiu</ConnectionString>
        </DbConnection>
      </DbConnections>
    </JiuJiu.DbAccess>
    读取代码如下:        private DbHelper()
            {
                XmlDocument doc = new XmlDocument();
                doc.Load("JiuJiu.DbAccess.xml");
                XmlElement root = doc.DocumentElement;
                XmlNode node = root.SelectSingleNode("/JiuJiu.DbAccess/DbType");
                string dataType = node.InnerText;
                node = root.SelectSingleNode("/JiuJiu.DbAccess/DbConnections/DbConnection[Name='" + dataType+"']");
                string providerName = node["ProviderName"].InnerText;
                string connectionString = node["ConnectionString"].InnerText;
                DbProviderFactory factory = DbProviderFactories.GetFactory(providerName);
                connection = factory.CreateConnection();
                connection.ConnectionString = connectionString;
                command = factory.CreateCommand();
                command.Connection = connection;
                adapter = factory.CreateDataAdapter();
            }
      

  2.   

    最简单的就是放到App.config中ConnectionStrings节点,用string connstring =ConfigurationManager.ConnectionStrings["配置节点名称"].ConnectionString;或者如果放在AppSetting节点用
    string connstring =System.Configuration.ConfigurationManager.AppSettings["配置节点名称"]来读取如果放到其它Xml文档中,用
    XmlDocument doc = new XmlDocument();
                        doc.Load(configfileName);
                        XmlNode node = doc.SelectSingleNode(@"configuration/DATASOURCE");
     if (node != null)
                        {
    string connstring=node.innerText;
    }
      

  3.   

    2楼正解
    如果想学习读取XML节点 看看XMLp路径解析
      

  4.   

    为毛不用app.config或者web.config?