gpt4 book ai didi

mysql - 在 VB.NET 中,调用 conn.close 或 conn.dispose 甚至使用 USING 后,MySQL 连接不会关闭

转载 作者:行者123 更新时间:2023-11-29 09:55:00 26 4
gpt4 key购买 nike

我正在使用MySQL Workbench 。如果我打开一个到 MySQL 的连接(在 Visual Basic 中),它将显示连接已打开。如果我关闭连接( MySQL Workbench 中),它会显示连接仍处于打开状态。如果我尝试重新打开相同的连接,它将打开并关闭,没有任何问题。但是,MySQL Workbench 显示第一个连接仍然打开。它保持打开状态,直到我退出应用程序。

   Try
Using myConnection As New MySqlConnection(_ServerString_vip)
myConnection.Open()

myConnection.Close()

End Using
End Using
Catch ex As Exception
MsgBox("Error getting Username Information.")
End Try

最佳答案

您应该阅读有关 ADO.NET 中的连接池的内容。

DbConnection 对象实际上非常轻量,并且存在于比实际数据库连接更高的级别。当您打开DbConnection 对象时,就会打开一个低级数据库连接。当您关闭DbConnection 对象时,低级数据库连接将保持打开状态一段时间。这是因为打开和关闭它是一项昂贵的操作。如果您使用相同的连接字符串打开另一个DbConnection,则将重用相同的低级数据库连接。低级连接仅在一段时间内未使用时才会关闭。

这不是你需要担心的事情。这就是 ADO.NET 中的情况并且一直如此,系统会自动处理它。您继续做您正在做的事情,即使用 Using 语句创建 DbConnection 对象,系统将处理剩下的事情。

顺便说一句,在数据适配器上调用 FillUpdate 时,没有必要显式打开连接。这两种方法都会自动打开连接并随后再次关闭。仅当您希望连接在 FillUpdate 调用后保持打开状态时(即,如果您对该连接还有更多工作要做),才应显式打开该连接。

关于mysql - 在 VB.NET 中,调用 conn.close 或 conn.dispose 甚至使用 USING 后,MySQL 连接不会关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54015965/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com