gpt4 book ai didi

C# - ConnectionString 属性尚未初始化

转载 作者:行者123 更新时间:2023-12-05 08:54:25 25 4
gpt4 key购买 nike

我刚学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();
}
}

最佳答案

The problem is using keyword. using directive only be use disposable objects.

If you create any instance in using block, the instance disposible out of curly braces..

 public SqlConnection GetConnection()
{
SqlConnection connection = new SqlConnection(connectionString);
if (connection.State == ConnectionState.Closed)
connection.Open();

return connection;
}

关于C# - ConnectionString 属性尚未初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50190997/

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