动态更改asp.net中的SqlDataSource连接字符串

时间:2010-06-01 12:16:23

标签: asp.net

我在asp.net(网络表单)中有一个页面,到目前为止只有一个数据库。

因此,需要数据库中某些内容的所有控件都使用数据源和相同的连接字符串。

<asp:SqlDataSource id="SqlDataSource1" runat="server"
                    ConnectionString="<%$ ConnectionStrings:DefaultConnectionString %>" 
                    ProviderName="System.Data.SqlClient" 
                                        SelectCommand="SELECT ... ">
</asp:SqlDataSource>

到目前为止,我只需要一个连接字符串,因为我只有一个数据库,但由于我希望一些用户连接到数据库A而其他用户连接到数据库B,所以这已经改变了

什么是正确的方法呢?最好没有太多变化......

2 个答案:

答案 0 :(得分:1)

您可以在确定要使用哪个之后以编程方式更改它,即

SqlDataSource1.ConnectionString = "whateveryouwant";

不必在控件中设置内联。

答案 1 :(得分:1)

在你的页面上你有SqlDataSource1,你也应该在你的web.config中有:

<connectionStrings>
    <add name="MyConectionString" connectionString="Data Source=127.0.0.1;Initial Catalog=DBNAME;User ID=userName;Password=PASS" />
</connectionStrings>

要将连接字符串添加到SqlDatasource1,请在后面的代码(cs文件)中使用onliad methot中的以下代码:

SqlDataSource1.ConnectionString = ConfigurationManager.ConnectionStrings["MyConectionString"].ConnectionString;