CommandBehavior.SingleRow导致数据库连接保持打开状态?

时间:2009-05-21 17:23:50

标签: .net database vb.net

最近我在VB.NET上开展了一个项目,我遇到了一些与数据库连接有关的神秘问题。这是一个我从别人那里继承的项目,他们使用过这样的东西:

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

似乎这导致连接始终无法正常关闭。我已经删除了CommandBehavior.SingleRow,它现在似乎正常工作,但我想知道是否有其他人遇到过这个?有谁知道为什么那不起作用?我以前看过CommandBehaviors以这种方式组合,但它之前从未引起过这个问题。

1 个答案:

答案 0 :(得分:4)

组合标志时,请使用 OR 运算符代替 AND

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