gpt4 book ai didi

c# - 在静态方法中包装一个新的 SqlConnection 实例是不好的做法吗?

转载 作者:行者123 更新时间:2023-11-30 20:48:20 25 4
gpt4 key购买 nike

我创建了一个可以从数据层调用的静态方法,以获取数据。我意识到如果你正在为 SQLConnection 做一个单例是非常糟糕的,因为可能有并发用户,我有连接池来处理这个。

我已经创建了这个静态方法,只是为了不每次都初始化该方法。

  public static DataSet Fetch(String DataSet, String StoredProcedure, String SrcTable)
{
DataSet ds = new DataSet(DataSet);

using (SqlConnection conn = new ConnectionClass().Connection)
{
try
{
using (SqlCommand cmd = new SqlCommand(StoredProcedure, conn))
{
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
adapter.Fill(ds, SrcTable);
}
}
}
catch (SqlException ex)
{
throw ex;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
}

if (DatabaseUtils.DataSetIsNotEmpty(ds))
return ds;
}

throw new NoRowsReturnedException("Database has returned no rows");
}

这种方法是否会破坏已部署的环境?

最佳答案

该方法很好,但不需要所有的 try/catch/finally。这就是“使用”的作用。如果未成功构造 conn 对象,更不用说您有潜在的空引用。

关于c# - 在静态方法中包装一个新的 SqlConnection 实例是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24754950/

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