c# - C# - ConnectionString 属性尚未初始化
问题描述
我只是在学习c#。我正在尝试以 c# windows 形式制作简单的 CRUD,但出现了一些错误。错误说The ConnectionString property has not been initialized.
下面的代码显示了我是如何尝试的。
App.config用于连接SQL SERVER
<connectionStrings>
<add name="connectionstr" connectionString="Data Source=DESKTOP-F8UCLUB;Initial Catalog=bug_tracker;Integrated Security=True" />
DBConnection类
class DBConnection
{
private string connectionString = ConfigurationManager.ConnectionStrings["connectionstr"].ConnectionString;
public SqlConnection GetConnection()
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
return connection;
}
}
}
插入函数
public void Insert(Programmer t)
{
conn.Open();
IDbTransaction trans = null;
try
{
conn.BeginTransaction();
SqlCommand sql = new SqlCommand(null, conn);
sql.CommandText = "INSERT INTO tbl_programmer VALUES(@fullName, @username, @password)";
sql.Parameters.AddWithValue("@fullName", t.FullName);
sql.Parameters.AddWithValue("@username", t.Username);
sql.Parameters.AddWithValue("@password", t.Password);
sql.Prepare();
sql.ExecuteNonQuery();
trans.Commit();
}
catch (SqlException ex)
{
trans.Rollback();
throw ex;
}
finally
{
conn.Close();
}
}
解决方案
问题是
using
关键字。using
指令只能使用一次性物品。如果您在 using 块中创建任何实例,则该实例可使用花括号..
public SqlConnection GetConnection()
{
SqlConnection connection = new SqlConnection(connectionString);
if (connection.State == ConnectionState.Closed)
connection.Open();
return connection;
}
推荐阅读
- android - OAuth 2.0 使用 Android 应用程序访问 Foursquare API
- python - CPLEX Python-创建具有二次项和线性项的目标函数
- php - 在 laravel 中进行 Eloquent 更新而不删除旧内容
- python - 在每个图像像素中为 2D 图像创建居中的补丁
- javascript - 日期格式的正则表达式,其中我们只有一位日期
- powerbi - DAX ALLEXCEPT, ALL FUNCTION.. 想要在每一行中显示总体平均值
- c++ - 您如何管理指向在派生类中扩展的基类的指针?
- flutter - Flutter 小部件测试点击 - 不会在指定的小部件上进行测试
- apache-flink - Flink - 在保存点启动期间使用操作员的延迟启动
- sql - PostgreSQL 中的 SqlBulkCopy 有什么合适的替代品吗?