CommandBehavior.CloseConnection有何作用
2009-11-24 10:02
323 查看
CommandBehavior.CloseConnection的使用 分析问题 由于流模式读取数据库的特点,在具体应用时很难确定数据库连接何时才能被关闭,因为读取的动作是连续进行的,下面是一个常见的数据访问层的静态方法:
而CommandBehavior.CloseConnection的功能恰好就是为了避免类似的尴尬境地,它能够保证当SqlDataReader对象被关闭时,其依赖的连接也会被自动关闭。代码9-2展示了使用CommandBehavior.CloseConnection和不使用CommandBehavior.CloseConnection的区别。 这里以SqlDataReader为例进行说明,对于其他命名空间下的XXXDataReader对象,其功能是类似的。 首先为了展示功能,代码9-2包含了两个静态的返回SqlDataReader的方法,其中一个在执行ExecuteReader方法时传入了CommandBehavior.CloseConnection方法。 代码9-2 使用CommandBehavior.CloseConnection:UseCommandBehavior.cs
代码9-3 使用CommandBehavior.CloseConnection:UseCommandBehavior.cs
测试使用了CommandBehavior.CloseConnection的方法: 读取完毕后的连接状态:Closed 测试没有使用CommandBehavior.CloseConnection的方法: 读取完毕后的连接状态:Open 正如读者所看到的,使用了CommandBehavior.CloseConnection得到的SqlDataReader对象,在关闭的同时会自动地关闭其依赖的数据库连接对象,这个特性解决了数据访问层编写中的困境。 答案 CommandBehavior.CloseConnection解决了流读取数据模式下,数据库连接不能有效关闭的情况。当某个XXXDataReader对象在生成时使用了CommandBehavior.CloseConnection,那数据库连接将在XXXDataReader对象关闭时自动关闭。 |
相关文章推荐
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection的作用
- CommandBehavior.CloseConnection有何作用
- [转]CommandBehavior.CloseConnection的作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用
- CommandBehavior.CloseConnection有何作用,详细解析
- CommandBehavior.CloseConnection有何作用???
- ExecuteReader方法中CommandBehavior.CloseConnection的一些注意事项
- dataReader= md.ExecuteReader(System.Data.CommandBehavior.CloseConnection)
- cmd.ExecuteReader(CommandBehavior.CloseConnection)
- CommandBehavior.CloseConnection的使用
- CommandBehavior.CloseConnection的使用
- ExecuteReader方法中CommandBehavior.CloseConnection的一些注意事项