【发布时间】:2019-12-27 04:29:09
【问题描述】:
我有以下课程:
private static readonly string ConnectionString = "Dummy";
public static SqlConnection GetConnection()
{
SqlConnection Connection = new SqlConnection(ConnectionString);
return Connection;
}
public static SqlDataAdapter GetDataAdapter(string Query)
{
SqlDataAdapter Adapt = new SqlDataAdapter(Query, GetConnection());
return Adapt;
}
- 当 GetConnection() 在我的 SqlDataAdapter 构造函数中作为参数传递时,如何处理实例化的 SqlConnection 对象?
- 当我在调用 GetDataAdapter() 的方法中处置我的 Adapt 对象时,它会自动处置吗?
- 如果无法处理,您建议如何处理?
感谢您的帮助。
【问题讨论】:
-
来自MSDN:“如果SqlConnection 尚未打开,SqlDataAdapter 会打开并关闭它。[...] 如果SqlConnection 已经打开,您必须显式调用Close 或Dispose 来关闭它。 "
-
除非您将该代码放在 using(SqlConnection Connection = new SqlConnection(connectionString) { };然后使用对象后会自动处理
标签: c# parameters dispose