我的应用程序使用xml配置文件将以下连接字符串存储到程序中使用的数据库中(此帖子中括号中的信息已更改)。
<add name="VetDAR.My.MySettings.VDARSQLDBASEConnectionString" connectionString="Data Source=[DATASOURCE];Initial Catalog=[INITIAL CATALOG];User ID=[UID];Password=[PASSWORD]" providerName="System.Data.SqlClient" />
我的程序还利用注册表项来获取大量信息和程序设置。是否可以利用存储在xml文件中此连接字符串中的注册表项中的数据库连接信息?即如果我有一个数据源键值,我可以用上面的连接字符串中的[DATASOURCE]替换注册表值吗?
我知道如何在我的应用程序中的普通vb.net表单中执行此操作,但我不知道如何(或者甚至可能)从xml文件中调用注册表值。或者,是否可以覆盖Visual Studio的默认行为并强制数据集使用硬编码的连接字符串,我可以在其中调用注册表值?
答案 0 :(得分:0)
如何从配置文件中获取connectionString,并将其传递给数据库连接对象。
但在将其传递给数据库之前,请替换需要替换的值。所以你的连接字符串将读取如下内容:
Data Source=[DATASOURCE];Initial Catalog=[INITIAL CATALOG];User ID=[UID];Password=[PASSWORD]
然后传递到数据库:
Dim connString As String = GetConnectionStringFromXML()
MyDatabase.ConnectionString = connString.Replace("[UID]", GetRegistryValue("UID").Replace("[INITIAL CATALOG]",GetRegistryValue("DatabaseName"))
... ...