C# 如何使用变量传递ConnectionString参数?
我有一个ConnectionString,我想用.txt文件中的值传递它的值(数据源、数据库、用户ID、密码),我需要读取它们,然后将它们传递给ConnectionString,但我很困惑该如何做 在我的程序中,我有一个Helper类来返回connectionStringC# 如何使用变量传递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
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配置文件?非常感谢!