The USING statement allows you to create objects and "trust" that they will close and dispose properly.
Look at these two examples
Code:
Try
Using dcn As New SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("LocalSQLServerAWC").ToString)
Using cmd As New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "dbo.awc_ReqUserReq_ReqApp_Save"
cmd.Connection = dcn
cmd.CommandTimeout = 0
DetermineParameters(dcn, cmd)
cmd.Parameters("@CtrlVal1").Value = ctrlval1
cmd.Parameters("@CtrlVal2").Value = ctrlval2
cmd.Parameters("@username").Value = username
dcn.Open()
strMessage = cmd.ExecuteScalar().ToString
If strMessage.Contains("~mail=") Then
Dim MC As Integer = strMessage.IndexOf("~mail=")
Dim strArray() As String = strMessage.Substring(MC + 6).Split("~"c)
Dim wholist As String = strArray(1) & "~" & strArray(3) & "~" & strArray(5)
Dim emailcontent As String = strArray(7) & "~" & strArray(9)
strMessage = strMessage.Substring(0, MC)
Dim emailSuccess As Boolean = SendEMail(wholist, emailcontent)
End If
.NewObject("button", "true")
.Seperate()
End Using
End Using
Catch ex As Exception
strSuccess = ""
strMessage = ex.Message.Replace("""", "'").Replace("\", "\\")
End Try
and this one
Code:
Try
Using dcn As New SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("LocalSQLServerAWC").ToString)
Using cmd As New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "dbo.awc_" & fromddtype & toddtype & "_window" ' StudentVisits"
cmd.Connection = dcn
cmd.CommandTimeout = 0
DetermineParameters(dcn, cmd)
SetParameters(cmd, True, fromwho, objReturn, Nothing, "", "", username)
dcn.Open()
Using sdrReader As SqlDataReader = cmd.ExecuteReader
Do
.
.
.
While sdrReader.Read
.
.
.
End While
.
.
.
Loop While sdrReader.NextResult
End Using
End Using
End Using
Catch ex As Exception
.ResetJson()
.StartObject()
.NewObject("%%dalerror%%", ex.Message.Replace("""", "'").Replace("\", "\\"))
NeedObjEnd = True
SkipEndArray = True
End Try