Någon som har någon bra funktion eller tips på
hur man bygger en funktion så att man skall kunna byta
databas lättare ?
Jag menar det blir en massa kod att ändra på om man skulle
ändra sig från MS SQL Server, till mySQL eller accses
8 svar · 614 visningar · startad av Nickemannen
Någon som har någon bra funktion eller tips på
hur man bygger en funktion så att man skall kunna byta
databas lättare ?
Jag menar det blir en massa kod att ändra på om man skulle
ändra sig från MS SQL Server, till mySQL eller accses
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.
Nej, du behöver väl ändra
t.ex.
SqlCommand, SqlAdapter och sådant ?
det kan bli jobbigt om man skall byta det på en massa sidor
Något sådant kanske, helt otestat ....
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 ...
cya,
PatrikB
Nickemannen skrev:
Nej, du behöver väl ändra
t.ex.
SqlCommand, SqlAdapter och sådant ?
det kan bli jobbigt om man skall byta det på en massa sidor
Jag menade dem när jag sa SqlClient.