devxlogo

CreateDataAdapter – Creating a DataAdapter for a given connection object, via Reflection

CreateDataAdapter – Creating a DataAdapter for a given connection object, via Reflection

' Create a suitable DataAdapter object for a given connection object.' Example:'    Dim da As DbDataAdapter = CreateDataAdapter(cn, "SELECT * FROM Titles")Function CreateDataAdapter(ByVal cn As IDbConnection, _    ByVal sql As String) As DbDataAdapter    ' We must box CN to invoke the GetType method.    Dim cnType As Type = CObj(cn).GetType()    ' The complete name of the assembly where the connection is defined.    Dim asmName As String = CObj(cn).GetType().Assembly.FullName    ' The complete names of the DataAdapter and CommandBuilder objects    Dim daTypeName As String = cnType.FullName.Replace("Connection", _        "DataAdapter")    ' Create the DataAdapter via Reflection.    Dim daType As Type = Type.GetType(daTypeName & "," & asmName)    Dim args() As Object = {sql, cn}    Dim da As DbDataAdapter = DirectCast(Activator.CreateInstance(daType, args), _        DbDataAdapter)    ' Create the CommandBuilder via reflection.    Dim cbTypeName As String = cnType.FullName.Replace("Connection", _        "CommandBuilder")    Dim cbType As Type = Type.GetType(cbTypeName & "," & asmName)    Dim args2() As Object = {da}    Dim cb As Object = Activator.CreateInstance(cbType, args2)    Return daEnd Function

See also  Why ChatGPT Is So Important Today
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist