私はこのコード(私のものではない)に出くわしました、そしてそれは私を少し奇妙にしました。
Public Overridable Function Save(ByVal UpdateUserID As Integer) As Integer
Dim conn As New SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("mcle").ToString())
Try
conn.Open()
Return Save(conn, UpdateUserID)
Finally
conn.Close()
End Try
End Function
Public Overridable Function Save(ByVal conn As SqlConnection, ByVal UpdateUserID As Integer) As Integer
If Me.activityID <> 0 Then
Return SaveAct(conn, UpdateUserID)
Else
Return AddAct(conn, UpdateUserID)
End If
End Function
(参考までに、SaveActとAddActはどちらも、一連のパラメーターを追加してデータベースを更新する長い関数です)
さて、開いている接続をパラメータとして渡すのはコーシャですか、それとも問題につながる可能性がありますか?これまでのところ壊れていませんが、ここでのベストプラクティスは何か疑問に思っています。
前もって感謝します。