2009-05-21 101 views
3

最近我在VB.NET中开发一个项目,我遇到了一些DB连接的一个神秘问题。这是我从别人那里继承了一个项目,他们曾使用过这样的事情:CommandBehavior.SingleRow导致数据库连接保持打开状态?

Dim reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection And CommandBehavior.SingleRow) 
//after reading data 
reader.Close() 

看来好像这是导致连接不正常关闭所有的时间。我已经删除了CommandBehavior.SingleRow,它现在似乎工作正常,但我想知道是否有其他人遇到过这种情况?有谁知道为什么这不起作用?我之前看到过以这种方式组合CommandBehaviors,但之前从未造成过这个问题。

回答

4

当组合标志,应使用OR操盘

Dim reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection Or CommandBehavior.SingleRow)