Im not sure if this is the correct group for this question - please feel free
to redirect me to a more appropriate group if necessary
Im assessing Enterprise Libraries and I wanted to know how objects are
disposed of
ie writing data access code by hand i might write soemthing like this
Dim strConnTxt As String =
"Server=(local) ;Database=North wind;Integrated Security=True;"
Dim strSql As String = "select * from products where categoryid = "
& txtCategoryID.T ext
'create and open the connection object
Using objConn As New SqlConnection(s trConnTxt)
'Using Definition
'http://msdn.microsoft. com/en-us/library/htd05whh.aspx
objConn.Open()
'Create the command object
Using objCmd As New SqlCommand(strS ql, objConn)
objCmd.CommandT ype = CommandType.Tex t
'databind the datagrid by calling the ExecuteReader() method
GridView1.DataS ource = objCmd.ExecuteR eader()
GridView1.DataB ind()
lblCount.Text = ""
End Using
'close the connection
objConn.Close()
End Using
As I understand, by using the 'Using' block, the connection & command
objects are disposed of when exiting the block
If however I use the following code using DataAccessAppli cationBlock, how
are these objects (that are inevitably created within the application block
code) disposed of?
Dim db As Database = DatabaseFactory .CreateDatabase ()
Dim dbCommand As DbCommand =
db.GetStoredPro cCommand("GetPr oductsByCategor y")
db.AddInParamet er(dbCommand, "CategoryID ", DbType.Int32,
txtCategoryID.T ext)
db.AddOutParame ter(dbCommand, "RecordCoun t", DbType.Int32,
txtCategoryID.T ext)
GridView1.DataS ource = db.ExecuteReade r(dbCommand)
GridView1.DataB ind()
to redirect me to a more appropriate group if necessary
Im assessing Enterprise Libraries and I wanted to know how objects are
disposed of
ie writing data access code by hand i might write soemthing like this
Dim strConnTxt As String =
"Server=(local) ;Database=North wind;Integrated Security=True;"
Dim strSql As String = "select * from products where categoryid = "
& txtCategoryID.T ext
'create and open the connection object
Using objConn As New SqlConnection(s trConnTxt)
'Using Definition
'http://msdn.microsoft. com/en-us/library/htd05whh.aspx
objConn.Open()
'Create the command object
Using objCmd As New SqlCommand(strS ql, objConn)
objCmd.CommandT ype = CommandType.Tex t
'databind the datagrid by calling the ExecuteReader() method
GridView1.DataS ource = objCmd.ExecuteR eader()
GridView1.DataB ind()
lblCount.Text = ""
End Using
'close the connection
objConn.Close()
End Using
As I understand, by using the 'Using' block, the connection & command
objects are disposed of when exiting the block
If however I use the following code using DataAccessAppli cationBlock, how
are these objects (that are inevitably created within the application block
code) disposed of?
Dim db As Database = DatabaseFactory .CreateDatabase ()
Dim dbCommand As DbCommand =
db.GetStoredPro cCommand("GetPr oductsByCategor y")
db.AddInParamet er(dbCommand, "CategoryID ", DbType.Int32,
txtCategoryID.T ext)
db.AddOutParame ter(dbCommand, "RecordCoun t", DbType.Int32,
txtCategoryID.T ext)
GridView1.DataS ource = db.ExecuteReade r(dbCommand)
GridView1.DataB ind()