代码之家  ›  专栏  ›  技术社区  ›  Ender

导致数据库连接保持打开的commandBehavior.singlerow?

  •  3
  • Ender  · 技术社区  · 15 年前

    最近我在vb.net上做一个项目,遇到了一些数据库连接的一个神秘问题。这是我从别人那里继承的一个项目,他们使用了类似的东西:

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

    似乎这导致连接一直无法正常关闭。我已经删除了commandBehavior.singlerow,它现在似乎工作正常,但我想知道是否还有其他人遇到过这个问题?有人知道为什么这样不行吗?我以前见过commandbehaviors以这种方式组合,但它以前从未引起过这个问题。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Joel Beckham    15 年前

    组合标志时,请使用 运算符而不是 :

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