如何在运行时重写Webconfig连接字符串。我有Server,UserName和Password的输入文本框。是否可以从这些文本框中读取?
答案 0 :(得分:2)
这取决于您创建连接的方式,但确定可以。
查看此站点以获取特定于您要连接的数据库的连接字符串..
对于SQL连接字符串,您可以执行类似
的操作 Imports System.Data.SqlClient
...
...
Dim conn As SqlConnection = New SqlConnection("Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;")
conn.Open
使用文本框中的值替换要更改的位
e.g
Dim conn As SqlConnection = New SqlConnection("Data Source=" & txtServerAddr.Text & ";Initial Catalog=" & txtDBName.Text & ";User Id=" & txtUser.Text & ";Password=" & txtPassword.Text & ";")
编辑问题后编辑
啊,现在更有意义了。
好的,你现在有两种选择。如果您连接的连接字符串数量有限(可能是Live,Test,Live#2),那么在web.config中添加其他连接字符串会更有意义,然后在输入时将它们作为下拉菜单提供你的网络应用程序。
您可以在此处详细了解如何从web.config中提取命名连接字符串。 Microsoft How to: Read Connection Strings from the Web.config File
如果你有无限数量的可能连接字符串,那么我会完全避免使用web.config并像我原来的答案那样动态建立你的连接字符串
<强> ADDITION 强>
“在运行时编辑web.config并不是一个好主意。要意识到您对web.config所做的任何更改都会导致应用程序在您的Web服务器上重新启动。”