devxlogo

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

Charlie has over a decade of experience in website administration and technology management. As the site admin, he oversees all technical aspects of running a high-traffic online platform, ensuring optimal performance, security, and user experience.

See also  Five Early Architecture Decisions That Quietly Get Expensive

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.