1

以下代码是否正确清理了所有 SqlDataReaders:

using (IDataReader reader = SqlHelper.GetDataReader(sql.ToString())) {
    if (reader.Read()) {
        result = reader.IsDBNull(0) ? string.Empty : reader[0].ToString();
    }
}

我的代码中有一些并发/解除分配问题并试图解决它们。

4

1 回答 1

2

Dispose()IDataReader一旦using语句结束超出范围,将自动调用。还要确保阅读器是使用创建的,CommandBehavior.CloseConnection以便阅读器在处理连接后将处理连接。

但我没有看到任何其他涉及连接的代码。如果您使用的是经典SqlHelper课程,那可能是问题的根源......

于 2012-05-23T02:25:07.903 回答