Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB7
Expertise: Advanced
Nov 17, 2003

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 da
End Function
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap