C# 如何使用变量传递ConnectionString参数?

C# 如何使用变量传递ConnectionString参数?,c#,connection-string,C#,Connection String,我有一个ConnectionString,我想用.txt文件中的值传递它的值(数据源、数据库、用户ID、密码),我需要读取它们,然后将它们传递给ConnectionString,但我很困惑该如何做 在我的程序中,我有一个Helper类来返回connectionString public static class Helper { public static string ConnectionString(string name) { return Configur

我有一个ConnectionString,我想用.txt文件中的值传递它的值(数据源、数据库、用户ID、密码),我需要读取它们,然后将它们传递给ConnectionString,但我很困惑该如何做

在我的程序中,我有一个Helper类来返回connectionString

public static class Helper
{
    public static string ConnectionString(string name)
    {
        return ConfigurationManager.ConnectionStrings[name].ConnectionString;
    }
}
这就是我调用connectionString的方式,以便访问数据库数据

using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.ConnectionString("Hotel")))
{
     connection.Execute($"INSERT INTO dbo.Registos_Cancelados(Nome, Telemovel, Data) VALUES(@Nome, @Telemovel, @Data)", new { Nome = nome, Telemovel = telemovel, Data = data });
}
我有一个包含这些值的文本文件

"DataSourceName"
"DataBaseName"
"User IDName"
"PasswordName"
我希望它们在连接字符串中

<connectionStrings>
    <add name="Hotel" connectionString="DataSource="DataSourceName";Database="DatabaseName";User Id="UserIdName";Password="PasswordName""
        providerName="System.Data.SqlClient" />
</connectionStrings>

您可以如下所示格式化连接字符串,以便稍后传递必要的值,如dbname


之后,在助手类中,返回格式化的连接字符串以及从txt文件中读取的值

公共静态字符串连接字符串(字符串名称)
{
var dataSourceName=“…”;
var dbName=“…”;
var userId=“…”;
var password=“…”;
var connectionString=ConfigurationManager.connectionString[name].connectionString;
返回string.Format(connectionString、dataSourceName、dbName、userId、密码);
}

您使用的是SqlClient,因此:您最好的选择是
SqlConnectionStringBuilder

var cb=new-SqlConnectionStringBuilder(basestring);
cb.DataSource=dataSourceName;
cb.InitialCatalog=数据库名称;
cb.UserID=UserID;
cb.Password=密码;
var connectionString=cb.connectionString;
如果没有模板字符串(
basestring
),只需使用
newsqlconnectionstringbuilder()


在这里使用
SqlConnectionStringBuilder
的优点是它知道所有关于非平凡值、保留字符等的转义规则。

因此,您的问题是如何从文本文件读取值,或者如何构建连接字符串?构建连接字符串,我知道如何读取这些值,但我不知道如何将它们传递到连接字符串。您是否可以首先不使用XML配置文件?非常感谢!