renmin  
常常被别人以为是高手
.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>

但是在cs文件中怎么获得ConnectionStringsSettings呢?
网上找了一段代码
(错误的代码已经删除)
但是这段代码运行不了

请高人赐教。顺便说一句,这个问题“开心”也不会。呵呵。


这个问题解决了。
给出正确的代码:
System.Configuration.ConnectionStringSettings s = System.Configuration.ConfigurationManager.ConnectionStrings["NorthwindConnectionString1"];
        
DbProviderFactory f 
= DbProviderFactories.GetFactory(s.ProviderName);
using (DbConnection conn = f.CreateConnection())
{
conn.ConnectionString 
= s.ConnectionString;
conn.Open();

DataTable t 
= conn.GetSchema("Tables");
t.WriteXml(
"tables.xml");
}



posted on 2005-10-18 15:52    阅读(12369)  评论(3编辑  收藏  举报