.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>
正确的代码:
 1System.Configuration.ConnectionStringSettings s = System.Configuration.ConfigurationManager.ConnectionStrings["NorthwindConnectionString1"];
 2        
 3DbProviderFactory f = DbProviderFactories.GetFactory(s.ProviderName);
 4using (DbConnection conn = f.CreateConnection())
 5{
 6conn.ConnectionString = s.ConnectionString;
 7conn.Open();
 8
 9DataTable t = conn.GetSchema("Tables");
10t.WriteXml("tables.xml");
11}
12
13

posted @ 2006-08-21 22:52  释天  阅读(258)  评论(1)    收藏  举报