CreateDataAdapter - Creating a suitable DataAdapter object for a given connection object
' Create a suitable DataAdapter object for a given connection object.
' Requires Imports for System.Data, System.Data.Common, System.Data.OleDb,
' System.Data.SqlClient, System.Data.Odbc and System.Data.OracleClient
'
' Example:
' Dim da As DbDataAdapter = CreateDataAdapter("SELECT * FROM Titles", cn)
Function CreateDataAdapter(ByVal sql As String, ByVal cn As IDbConnection) As _
DbDataAdapter
If TypeOf cn Is OleDbConnection Then
' Create an OleDbDataAdapter and initialize its properties.
Dim da As New OleDbDataAdapter(sql, DirectCast(cn, OleDbConnection))
Dim cb As New OleDbCommandBuilder(da)
da.UpdateCommand = cb.GetUpdateCommand()
da.DeleteCommand = cb.GetDeleteCommand()
da.InsertCommand = cb.GetInsertCommand()
Return da
ElseIf TypeOf cn Is SqlConnection Then
' Create an SqlDataAdapter and initialize its properties.
Dim da As New SqlDataAdapter(sql, DirectCast(cn, SqlConnection))
Dim cb As New SqlCommandBuilder(da)
da.UpdateCommand = cb.GetUpdateCommand()
da.DeleteCommand = cb.GetDeleteCommand()
da.InsertCommand = cb.GetInsertCommand()
Return da
ElseIf TypeOf cn Is OdbcConnection Then
' Create an SqlDataAdapter and initialize its properties.
Dim da As New OdbcDataAdapter(sql, DirectCast(cn, OdbcConnection))
Dim cb As New OdbcCommandBuilder(da)
da.UpdateCommand = cb.GetUpdateCommand()
da.DeleteCommand = cb.GetDeleteCommand()
da.InsertCommand = cb.GetInsertCommand()
Return da
ElseIf TypeOf cn Is OracleConnection Then
' Create an SqlDataAdapter and initialize its properties.
Dim da As New OracleDataAdapter(sql, DirectCast(cn, OracleConnection))
Dim cb As New OracleCommandBuilder(da)
da.UpdateCommand = cb.GetUpdateCommand()
da.DeleteCommand = cb.GetDeleteCommand()
da.InsertCommand = cb.GetInsertCommand()
Return da
Else
Throw New ArgumentException
End If
End Function