您可以像这样在运行时更改连接字符串。您可以将连接字符串设置作为MySettings类内部的单独属性可写:
Partial Friend NotInheritable Class MySettings
Public WriteOnly Property RunTimeConnectionString()
Set(ByVal value)
My.Settings("MyConnectionString") = value
End Set
End Property
End Class
然后,在应用程序初始化时的某个地方(在使用任何类型数据集的表适配器之前),写入类似以下的内容:
My.Settings.RunTimeConnectionString = My.Settings.ProductionConnectionString
ProductionConnectionString是一个简单的字符串设置。它是用户级别的设置,因此每个用户都可以更改它(通过给它分配一个值,类似于上面的代码),并通过调用My.Settings.Save()保存它。
对于最初在主项目中创建并存储在其设置(= app.config文件)中的连接字符串,此代码可正常工作。
app.config中的连接字符串实际上具有更长的名称:MyApp.MySettings.MyConnectionString。
当您在主项目中引用类库项目中存储的app.config中的连接字符串时,这些app.config文件将以某种方式合并,因此类库具有其设置。
我不知道如何在运行时从类库中更改设置。我可以将连接字符串设置从类库复制到主项目的app.config中。我必须保持相同的名称,看起来像:MyClassLibrary.My.MySettings.MyConnectionString。
是否可以将上面展示的相同原则应用于第二个连接字符串?