För att byta mellan SQL Server och Access så behöver du bara byta ut SqlClient mot OleDB, förresten klarar OleDB av sql connections också. Så om du vet att du kommer byta mellan olika databas lösning så rekomenderar jag OleDB, eftersom den ska klara av Access, Sql Server, och till och med mySQL om du har MyODBC installerat.
Public Class DBWrapper
Private m_strDBType as string
Private m_strConnString As String
'## -- vilken typ av dbms --
Private Property DBType() As String
Get
return m_strDBType
End Get
Set(ByVal Value As String)
m_strDBType = value
End Set
End Property
'## -- connection string till databasen --
Private Property ConnectionString() As String
Get
return m_strConnString
End Get
Set(ByVal Value As String)
m_strConnString = value
End Set
End Property
Public Sub New(ByVal db as string, connString As String)
DBType = db
ConnectionString = connString
End Sub
'## -- skapa och returnera en DataReader för vald dbms --
Public Function Get_DataReader(ByVal SQLQuery as string) As DataReader
Dim dr As New DataReader()
Select Case UCase(DBType)
Case "ACCESS", "MYSQL"
Dim tmpConn As New OledbConnection(ConnectionString)
Dim tmpCommand As New OledbCommand(SQLQuery, tmpCOnn)
dr = tmpCommand.ExecuteReader()
Case "MS-SQL"
Dim tmpConn As New SqlConnection(ConnectionString)
Dim tmpCommand As New SqlCommand(SQLQuery, tmpCOnn)
dr = tmpCommand.ExecuteReader()
End Select
return dr
End Function
'## -- lägg till kod för dataadapter och dataset --
End Class
som sagt, helt otestat ... men ngt liknande borde funka ...