webForumDet fria alternativet

DataAdapter

8 svar · 614 visningar · startad av Nickemannen

NickemannenMedlem sedan aug. 20003 575 inlägg
#1

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

renholmMedlem sedan apr. 20012 266 inlägg
#2

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.

NickemannenMedlem sedan aug. 20003 575 inlägg
#3

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

PatrikBMedlem sedan mars 20002 836 inlägg
#4

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

NickemannenMedlem sedan aug. 20003 575 inlägg
#5

hehe, bara någiot du skrev ner ?

tack... för den tiden iallfall

PatrikBMedlem sedan mars 20002 836 inlägg
#6

jepp :e

e inte så haj på .NET ännu ... men det kommer väl :r

cya,
PatrikB

NickemannenMedlem sedan aug. 20003 575 inlägg
#7

samma här är inte så haj heller

men tack skall du ha skall testa :)

renholmMedlem sedan apr. 20012 266 inlägg
#8

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.

NickemannenMedlem sedan aug. 20003 575 inlägg
#9

mmm, men det var dem jag frågade om att slippa ändra.

Du missförstod mig nog från början

255 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
132 ms — hämta forumlista (db)
120 ms — hämta statistik (db)
129 ms — hämta tråd, inlägg och bilagor (db)