gpt4 book ai didi

c# - 如何用变量传递 ConnectionString 参数?

转载 作者:行者123 更新时间:2023-12-04 02:25:55 27 4
gpt4 key购买 nike

我有一个 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>

最佳答案

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

var cb = new SqlConnectionStringBuilder(theBaseString);
cb.DataSource = dataSourceName;
cb.InitialCatalog = dataBaseName;
cb.UserID = userId;
cb.Password = password;
var connectionString = cb.ConnectionString;

如果您没有模板字符串 (theBaseString),只需使用 new SqlConnectionStringBuilder() 即可。

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

关于c# - 如何用变量传递 ConnectionString 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67736971/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com