由于以下code:
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
请问返回prevent执行,即数据库连接的关闭和隐含的Dispose()在使用块结束时调用的功能块的其余部分?
Will the Return prevent execution of the remainder of the function block i.e. the closing of the database connection and the implied Dispose() called when the Using block finishes?
没有,一个 使用
语句相当于一个Try/Finally声明 - 所以处置被执行为执行离开该块,不管是通过到达该块的末端,正常返回,或经由一个异常
No, a Using
statement is equivalent to a Try
/Finally
statement - so the disposal is executed as execution leaves the block, whether that's by reaching the end of the block, returning normally, or via an exception.
您并不需要显式的关闭
呼叫不过,因为你处理的连接反正。
You don't need the explicit Close
call though, as you're disposing of the connection anyway.