.Net 2.0的配置文件中
Net 2.0的配置文件中新增加了一个节点<connectionStrings>。这个节点是专门用于存储数据库联接字符串的。不尽包含了字符串而且还包含了使用何种Provider的信息。
例如:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<add name="NorthwindConnectionString1" connectionString="Data Source=(local);Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123"
providerName="System.Data.SqlClient" />
</connectionStrings>
<configuration />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>"
DeleteCommand="DELETE FROM [Categories] WHERE [CategoryID] = @original_CategoryID"
InsertCommand="INSERT INTO [Categories] ([CategoryName], [Description]) VALUES (@CategoryName, @Description)"
ProviderName="<%$ ConnectionStrings:NorthwindConnectionString1.ProviderName %>"
SelectCommand="SELECT [CategoryID], [CategoryName], [Description], [Picture] FROM [Categories]"
UpdateCommand="UPDATE [Categories] SET [CategoryName] = @CategoryName, [Description] = @Description WHERE [CategoryID] = @original_CategoryID">
<InsertParameters>
<asp:Parameter Name="CategoryName" Type="String" />
<asp:Parameter Name="Description" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="CategoryName" Type="String" />
<asp:Parameter Name="Description" Type="String" />
<asp:Parameter Name="original_CategoryID" Type="Int32" />
</UpdateParameters>
<DeleteParameters>
<asp:Parameter Name="original_CategoryID" Type="Int32" />
</DeleteParameters>
</asp:SqlDataSource>
正确的代码:
例如:
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<add name="NorthwindConnectionString1" connectionString="Data Source=(local);Initial Catalog=Northwind;Persist Security Info=True;User ID=sa;Password=123"
providerName="System.Data.SqlClient" />
</connectionStrings>
<configuration />
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>"
DeleteCommand="DELETE FROM [Categories] WHERE [CategoryID] = @original_CategoryID"
InsertCommand="INSERT INTO [Categories] ([CategoryName], [Description]) VALUES (@CategoryName, @Description)"
ProviderName="<%$ ConnectionStrings:NorthwindConnectionString1.ProviderName %>"
SelectCommand="SELECT [CategoryID], [CategoryName], [Description], [Picture] FROM [Categories]"
UpdateCommand="UPDATE [Categories] SET [CategoryName] = @CategoryName, [Description] = @Description WHERE [CategoryID] = @original_CategoryID">
<InsertParameters>
<asp:Parameter Name="CategoryName" Type="String" />
<asp:Parameter Name="Description" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="CategoryName" Type="String" />
<asp:Parameter Name="Description" Type="String" />
<asp:Parameter Name="original_CategoryID" Type="Int32" />
</UpdateParameters>
<DeleteParameters>
<asp:Parameter Name="original_CategoryID" Type="Int32" />
</DeleteParameters>
</asp:SqlDataSource> 1
System.Configuration.ConnectionStringSettings s = System.Configuration.ConfigurationManager.ConnectionStrings["NorthwindConnectionString1"];
2
3
DbProviderFactory f = DbProviderFactories.GetFactory(s.ProviderName);
4
using (DbConnection conn = f.CreateConnection())
5
{
6
conn.ConnectionString = s.ConnectionString;
7
conn.Open();
8
9
DataTable t = conn.GetSchema("Tables");
10
t.WriteXml("tables.xml");
11
}
12
}
13
System.Configuration.ConnectionStringSettings s = System.Configuration.ConfigurationManager.ConnectionStrings["NorthwindConnectionString1"];2
3
DbProviderFactory f = DbProviderFactories.GetFactory(s.ProviderName);4
using (DbConnection conn = f.CreateConnection())5
{6
conn.ConnectionString = s.ConnectionString;7
conn.Open();8

9
DataTable t = conn.GetSchema("Tables");10
t.WriteXml("tables.xml");11
}12
} 13


浙公网安备 33010602011771号