如何更改连接字符串初始目录

Viv*_*ikh 8 c# database asp.net connection-string

我在Web配置文件中有一个连接字符串.我在所有文件中都使用了这个连接名称.

连接字符串就像

<add name="connectionname" connectionString="Data Source=DEVELOPER1;Initial Catalog=dbname;Persist Security Info=True;User ID=sa;Password=some"/>
Run Code Online (Sandbox Code Playgroud)

我想按照下拉列表在我的登录页面中更改初始目录(数据库名称),并且该更改将对应用程序保持相同.

fre*_*per 20

要更改连接字符串而不修改它,您应该执行以下过程:

  1. 创建SqlConnectionStringBuilder对象将原始连接字符串分配给它
  2. 在创建的SqlConnectionStringBuilder对象中更改所需的参数.
  3. 将SqlConnectionStringBuilder ConnectionString属性添加到DbConnection对象.

请参阅以下示例:(假设首先使用原始conexion字符串创建普通DbConnection(此处为名称db)):

if (db != null)
{
    SqlConnectionStringBuilder conn = new SqlConnectionStringBuilder(db.ConnectionString)
   { ConnectTimeout = 5, InitialCatalog = "your CatalogName" }; // you can add other parameters.
      db.ConnectionString = conn.ConnectionString;
      db.Open();
      return true;
   }
}
Run Code Online (Sandbox Code Playgroud)

在给定的示例中,初始目录和超时已更改,但未触及原始字符串.

我希望这对你有所帮助.


Nei*_*son 1

我认为每个数据库都需要一个连接字符串。

您有一个下拉列表,用户可以在其中选择要连接到的数据库。这个值需要持久化,也许是在Session中。

您需要一个负责提供连接字符串值的类。此类获取下拉值/从会话中提取值,并将适当的连接字符串返回到 DAL 函数

编辑:如果您在所有页面中使用了连接字符串名称,则必须更改它。封装可能发生变化的内容。搜索和替换可以吗?