一个 ExecuteReader 问题

想开发一个类来包装MySQL的查询过程,ExecuteDataTable、ExecuteScalar 等都没有问题,但是 ExecuteReader 存在问题,返回的总是 null

后来发现,包装的方法中得到结果后就释放数据库连接,对于 DataTable、Scalar 都没有问题,因为他们是值类型。但是 Reader 只是相当于一个引用,只是告诉我们怎样去读。得到 Reader 之后,马上关闭掉数据库连接,则此 Reader 的 RowCount 马上就为零。所以这个地方稍微麻烦些,得到 Reader ,返回给调用者后连接也不能马上释放,必须由调用者去释放。

原文地址:https://www.cnblogs.com/chinaontology/p/1244615.html