使用 C# winform 中的 app.config 访问数据库连接字符串
本文关键字:访问 数据库连接 字符串 config app winform 中的 使用 | 更新日期: 2023-09-27 18:17:40
我似乎无法访问我的 c# winforms 应用程序中的 app.config 数据库连接字符串。
app.config 代码
<connectionStrings>
<add name="MyDBConnectionString" providerName="System.Data.SqlClient"
connectionString="Data Source=localhost;Initial Catalog=MySQLServerDB; Integrated Security=true" />
</connectionStrings>
C# 代码:
SqlConnection conn = new SqlConnection();
conn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings["MyDBConnectionString"];
当我尝试 C# 代码时,我收到一条消息:
警告 1"系统.配置.配置设置.应用设置"已过时: '此方法已过时,已被 System.Configuration!System.Configuration.ConfigurationManager.AppSettings'
但是,当我尝试使用:
conn.ConnectionString = System.Configuration!System.Configuration.ConfigurationManager.AppSettings["MyDBConnectionString"];
我收到一个错误:只有赋值、调用、递增、递减和新对象表达式可以用作语句
这就是您所需要的:
System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
使用 ConfigurationManager
而不是 ConfigurationSettings
。它有一个 ConnectionStrings
属性,应用于 connectionStrings
部分中的连接字符串:
ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
您使用的是 ConnectionString 集合,而不是 AppSettings。
ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString;
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionString" value="Data Source=MY-PC;Initial Catalog=DB2013;User ID=sa;Password=MYSQL123" />
</appSettings>
</configuration>
using System.Configuration;
using System.Data.SqlClient;
namespace OnlineDelete_W2013
{
public partial class CommodityEdit : Form
{
SqlConnection MyConnection = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
public CommodityEdit()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
MyConnection.Open();
}
catch (Exception)
{
throw;
}
}
}
}
试试这个
ConfigurationManager.ConnectionStrings["MyDbConnectionString"].ConnectionString;
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["SQLConnection"].ToString()))
{
....(your code here) ...
}
SqlConnection conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager
.ConnectionStrings["MyDBConnectionString"].ConnectionString;
try
{
conn.Open();
}
catch (Exception)
{
throw;
}
说明使用该行的答案
ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
是正确的。
如果出现错误,指出 ConfigurationManager 不存在,这是因为您的项目尚未引用 System.Configuration。
若要在 .NET Framework 中,在">解决方案资源管理器"中,在要使用此代码行的项目中执行此操作,请在"引用"中右键单击,选择">添加引用...",然后选择左侧的">程序集"和其下的"框架"。在列表中选择">系统配置">,然后单击"确定"。
关于这个:
我收到一个错误:只有赋值、调用、递增、递减和新对象表达式可以用作语句
我只是声明了一个这样的var并解决了问题:
var strConnection = System.Configuration.ConfigurationManager.ConnectionStrings["MyDBConnectionString"].ConnectionString;
请尝试以下代码。 这是您所期望的:
SqlConnection MyConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);