最近我在VB.NET上开展了一个项目,我遇到了一些与数据库连接有关的神秘问题。这是一个我从别人那里继承的项目,他们使用过这样的东西:
Dim reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection And CommandBehavior.SingleRow)
//after reading data
reader.Close()
似乎这导致连接始终无法正常关闭。我已经删除了CommandBehavior.SingleRow,它现在似乎正常工作,但我想知道是否有其他人遇到过这个?有谁知道为什么那不起作用?我以前看过CommandBehaviors以这种方式组合,但它之前从未引起过这个问题。
答案 0 :(得分:4)
组合标志时,请使用 OR 运算符代替 AND :
Dim reader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection Or CommandBehavior.SingleRow)