Enterprise libraries

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • =?Utf-8?B?VGVycnkgSG9sbGFuZA==?=

    Enterprise libraries

    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()

Working...