[.NET] Zugriff auf eine Access Datenbank

Dieses Thema im Forum "Programmier Tutorials" wurde erstellt von meckes, 16. März 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 16. März 2007
    Zugriff auf eine Access Datenbank

    Hi,

    da ich leider nie eine Anständige erklärung gefunden hab wie man auf eine Access Datenbank zugreifen kann, hab ich mir gedacht schreibst mal n kleines Beispiel.
    Sollte mit den .Net studios 2003 und 2005 Funktionieren, allerdings in 2005 noch nicht getestet

    Code:
    Public Class DBAccess
     Dim objConn As Data.OleDb.OleDbConnection
     
     
     Public Function OpenDBConnection() As Boolean
     Dim strConn As String
    
     'Setze den Connection String
     strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=C:\TestDataBase.mde;"
    
     objConn = New Data.OleDb.OleDbConnection(strConn)
    
     'Versuche Verbindung herzustellen
     Try
     objConn.Open()
     Catch ex As Exception
     'Fehler ausgeben
     MsgBox("Herstellen der Verbindung fehlgeschlagen: " & vbCrLf & ex.Message)
    
     'Rückgabewert der Funktion setzen
     OpenDBConnection = False
     Exit Function
     End Try
    
     'Bei Erfolg
     OpenDBConnection = True
     End Function
    
     Public Function GetDataTable(ByVal SQLStatement As String) As DataTable
     Dim dataAdapter As Data.OleDb.OleDbDataAdapter
     Dim dtData As DataTable
    
     'Prüfen ob Verbindung besteht
     If IsNothing(objConn) = False Then
     If objConn.State = ConnectionState.Open Then
     dataAdapter = New Data.OleDb.OleDbDataAdapter(SQLStatement, objConn)
     dtData = New DataTable
    
     Try
     'DataTable mit Daten aus der Datenbank füllen
     dataAdapter.Fill(dtData)
     Catch ex As Exception
     'Fehler ausgeben
     MsgBox("Holen der Daten Fehlgeschlagen: " & vbCrLf & ex.Message)
     Exit Function
     End Try
     Else
     MsgBox("Keine Verbindung vorhanden")
     Exit Function
     End If
     Else
     MsgBox("Keine Verbindung vorhanden")
     Exit Function
     End If
     'Bei Erfolg liefere DataTable zurück
     GetDataTable = dtData
     End Function
    
     Public Function ExecuteSQL(ByVal SQLStatement As String) As Boolean
     Dim cmdSQL As Data.OleDb.OleDbCommand
    
     'Prüfen ob Verbindung besteht
     If IsNothing(objConn) = False Then
     If objConn.State = ConnectionState.Open Then
     cmdSQL = New Data.OleDb.OleDbCommand(SQLStatement)
     Try
     'SQL Statement ausführen
     cmdSQL.ExecuteNonQuery()
     Catch ex As Exception
     'Fehler ausgeben
     MsgBox("Ausführen fehlgeschlagen: " & vbCrLf & ex.Message)
    
     'Rückgabewert setzen
     ExecuteSQL = False
     Exit Function
     End Try
     Else
     MsgBox("Keine Verbindung vorhanden")
    
     'Rückgabewert setzen
     ExecuteSQL = False
     Exit Function
     End If
     Else
     MsgBox("Keine Verbindung vorhanden")
    
     'Rückgabewert setzen
     ExecuteSQL = False
     Exit Function
     End If
    
     'Bei Erfolg
     ExecuteSQL = True
     End Function
    
     Public Function CloseDBConnection() As Boolean
     'Prüfen ob Verbindung besteht
     If IsNothing(objConn) = False Then
     If objConn.State = ConnectionState.Open Then
     Try
     'Verbindung schließen
     objConn.Close()
     Catch ex As Exception
     MsgBox("Konnte Verbindung nicht beenden: " & ex.Message)
     CloseDBConnection = False
     Exit Function
     End Try
     Else
     MsgBox("Keine Verbindung vorhanden")
     Exit Function
     End If
     Else
     MsgBox("Keine Verbindung vorhanden")
     Exit Function
     End If
     'Bei Erfolg
     CloseDBConnection = True
     End Function
    End Class
    
    
    Ich hoffe ich hab ausreichend Kommentiert

    Die funktionen:

    OpenDBConnection --> Öffnet die Verbindung zur Datenbank
    CloseDBConnection --> Schliest sie wieder
    ExecuteSQL --> z.b. INSERT, oder UPDATE statements...
    GetDataTable --> SELECT statement

    Ich hab das Programm nicht getestet, müsste aber soweit funktionieren. Falls jemand nen Fehler findet oder Fragen hat, kann er sich gern per PN melden.
    Feedback per PN is auch erwünscht....

    Wie man mit nem DataTable arbeitet erklär ich hier nicht weiter ... da gibts glaub ich auch viele Google suchergebnisse

    Gruß
    meckes
     
  2. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.