给出以下代码:
Function GetSomething() As Integer
Using dbConn As New SqlConnection("Connection_String")
dbConn.Open()
Using dbCmd As New SqlCommand(" SELECT SOMETHING ....", dbConn)
Return Integer.Parse(dbCmd.ExecuteScalar())
End Using
dbConn.Close()
End Using
End Function
返回是否会阻止执行功能块的其余部分,即关闭数据库连接以及当使用块完成时调用的隐含Dispose()?
答案 0 :(得分:13)
不,Using
statement等同于Try
/Finally
语句 - 因此当执行离开块时执行处理,无论是通过到达块的末尾,正常返回还是通过异常执行
你不需要明确的Close
电话,因为你无论如何都在处理这个连接。