【问题标题】:SQLDataReader connection closeSQLDataReader 连接关闭
【发布时间】:2023-08-09 09:40:02
【问题描述】:

如何在 stylecop 中定义规则强制开发者关闭 SQLDataReader() 或连接?

如果有其他解决方案,也请提出建议。

需要的解决方案是强制开发者关闭sqldatareader

我们可以在 DAL 或任何其他方法中进行任何其他更改,以确保数据读取器的连接已关闭..

【问题讨论】:

    标签: c# database-connection sqldatareader stylecop


    【解决方案1】:

    使用委托怎么样?我不知道你的确切架构,但我们已经将ExecuteReader() 方法包装在我们自己的方法中,我们称之为ExecuteReaderWrapper() 以确保使用正确的数据库连接等。ExecuteReaderWrapper() 基本上只返回返回的SqlDataReader ExecuteReader().

    现在我们不使用这些方法编写任何自定义代码(我们使用DataSets 代替),所以我们没有您遇到的问题。但一种选择是将ExecuteReaderWrapper() 更改为期待代表而不是返回SqlDataReader。然后ExecuteReaderWrapper() 会将SqlDataReader 传递给委托,然后再进行所有必需的清理。那么开发者完全不用担心关闭。

    【讨论】: