在xml配置文件中使用注册表值

时间:2012-09-25 23:05:44

标签: vb.net connection-string

我的应用程序使用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的默认行为并强制数据集使用硬编码的连接字符串,我可以在其中调用注册表值?

1 个答案:

答案 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"))

... ...