我自定义了一个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)!请哪位高手给予指点!尽可能详细一点......
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)!请哪位高手给予指点!尽可能详细一点......
<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();
}
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;
}
如果想学习读取XML节点 看看XMLp路径解析