我在网络配置文件中有一个连接字符串。 我在所有文件中都使用了这个连接名称。
连接字符串就像
<add name="connectionname" connectionString="Data Source=DEVELOPER1;Initial Catalog=dbname;Persist Security Info=True;User ID=sa;Password=some"/>
我想按照下拉列表更改登录页面中的初始目录(数据库名称),并且该更改将对应用程序保持相同。
答案 0 :(得分:18)
要更改连接字符串而不修改它,您应该执行以下步骤:
请参阅以下示例:(假设首先使用原始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;
}
}
在给定的示例中,初始目录和超时已更改,但未触及原始字符串。
我希望这对你有帮助。
答案 1 :(得分:1)
我认为你需要为每个数据库建立一个连接字符串。
您有一个下拉列表,用户选择要连接的数据库。这个值需要保留,可能在会话中。
您需要一个负责提供连接字符串值的类。该类传递下拉值/从会话中提取值,并将相应的连接字符串返回到DAL函数
编辑:如果您在所有页面中使用了连接字符串名称,则必须更改它。封装可能发生变化的内容。搜索和替换可能会这样做吗?