gpt4 book ai didi

c# - 修改 SQL Server Compact Edition 的默认连接字符串

转载 作者:太空宇宙 更新时间:2023-11-03 13:55:53 25 4
gpt4 key购买 nike

当我将数据库添加到程序时,Visual Studio 会自动创建以下连接字符串:

 <connectionStrings>
<add name="TeamSortingTool.Properties.Settings.PlayerTeamConnectionString" connectionString="Data Source=|DataDirectory|\PlayerTeam.sdf" providerName="Microsoft.SqlServerCe.Client.3.5" />
<add name="PlayerTeamEntities" connectionString="metadata=res://*/edmPlayerTeam.csdl|res://*/edmPlayerTeam.ssdl|res://*/edmPlayerTeam.msl;provider=System.Data.SqlServerCe.3.5;provider connection string=&quot;Data Source=|DataDirectory|\PlayerTeam.sdf&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

我试图让用户选择他们想要打开的数据库。如何以编程方式修改连接字符串而不丢失关联的数据集和表适配器?

提前致谢:)

最佳答案

您可以使用该方法从您的 App.Config 文件调用您的连接字符串以用于数据连接或适配器

 public string GetConnectionStringByName()
{
string returnValue = null;
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["Connection Name Here"];
if (settings != null)
returnValue = settings.ConnectionString;
return returnValue;
}

当您将新数据库添加到您的项目时,默认情况下它采用与现有数据库相同的连接名称加上一个数字。因此您可以将连接字符串作为变量并在添加新数据库时将数字添加到它。

编辑

通过考虑你将在语法上将数据库添加到你的项目中,那么如果你添加了一个新的数据库。它将采用该连接字符串的名称:

name="TeamSortingTool.Properties.Settings.PlayerTeamConnectionString1" 

因为它在现有数据库名称的末尾添加了一个数字所以,你可以使用我提供的方法,添加指定的连接字符串 类似这样的东西:

public string GetConnectionStringByName(int DB_Number)
{
string returnValue = null;
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["Connection Name Here"];
if (settings != null)
returnValue = settings.ConnectionString+Convert.ToString(DB_Number);
return returnValue;
}

因为 DB_Number 变量可以保存在 XML 文件中,以免丢失并且每次添加数据库时它都会增加。

因此,如果您向现有 1 添加一个新数据库,则连接名称应为:

name="TeamSortingTool.Properties.Settings.PlayerTeamConnectionString1" 

如果您添加了另一个数据库,DB_Number 将增加 1 以将连接名称更改为:

name="TeamSortingTool.Properties.Settings.PlayerTeamConnectionString2" 

并允许用户选择他想要使用的连接字符串。

另一方面。如果您的数据库在应用程序运行之前手动添加。处理起来会更容易,因为您只需将连接字符串作为数组保存在数据结构中,然后调用要使用的连接

这是我从你的问题中得出的结论

关于c# - 修改 SQL Server Compact Edition 的默认连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185138/

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