Zugriff auf einen SQL-Server

Aus DBWiki
Wechseln zu: Navigation, Suche

Untenstehende Codebeispiele zeigen den Zugriff auf einen MS SQL Server 2000/2005 und die Verwendung der geöffneten Verbindung.

Sie stellen jedoch nur eine einzelne Variante dar, die je nach benötigter Technik beliebig abgeändert werden können.

Beachte bitte, dass in diesem Beispiel Benutzername und Kennwort nur zu Demonstrationszwecken in Klartext hinterlegt werden!

Option Compare Database
Option Explicit
'Ein Applikationsweit gültiges Zugriffsobjekt anlegen
Public conn As ADODB.Connection
 
Public Function ConnectSQL()as ADODB.Connection
 
    Dim strServer As String
    Dim strDatenbank As String
    Dim strBenutzer As String
    Dim strKennwort As String
 
    strServer = "DeinSQLServer"
    strDatenbank = "DeineDatenbank"
    strBenutzer = "selbst"
    strKennwort = "pwd"
    'Der Verweis auf Microsoft ActiveX Data Objects 2.x Library
    'muss bereits gesetzt sein!
    Set conn = New ADODB.Connection
 
    With conn
        .Provider = "SQLOLEDB.1" 'Datenbanktreiber für den Zugriff auf SQL Server 2000
        '.Provider = "SQLNCLI.1" 'Datenbanktreiber für den Zugriff auf SQL Server 2005
        .Properties("Persist Security Info").Value = False
        .Properties("Data Source").Value = strServer
        .Properties("Initial Catalog").Value = strDatenbank
            'Für den Zugriff mit Windows-Authentifizierung
            'muss der folgende Eintrag entkommentiert werden, Einträge
            '(User ID) und (Password) müssen aber auskommentiert werden.
        '.Properties("Integrated Security").Value = "SSPI"
        .Properties("User ID").Value = strBenutzer
        .Properties("Password").Value = strKennwort
        .Open
    End With
 
End Function

Die so erzeugte Verbindung zum SQL Server kann dann im Code hinter einem Formular für verschiedenste Zwecke verwendet werden. Im nachfolgenden Beispiel wird eine Tabelle abgefragt um die Daten anschließend zu bearbeiten.

Private Sub Abfrage()
 
    Dim rst As New ADODB.Recordset
 
    ConnectSQL 'Die Datenbank öffnen
 
    With rst
        .ActiveConnection = conn
        .LockType = adLockOptimistic
        .CursorType = adOpenKeyset
        .CursorLocation = adUseClient   'Für das Zählen der Datensätze
        .Open "SELECT * FROM Tabelle"
 
        If .RecordCount >= 1 Then
            .MoveFirst
            Do While Not rst.EOF
                'Das Recordset verarbeiten
                'Daten ändern, eintragen
                '...
                .Update
                .MoveNext
            Loop
        Else
            MsgBox "Keine Daten vorhanden!"
        End If
 
        .Close      'Recordset schließen
        conn.Close  'Verbindung zum SQL Server schließen
 
    End With
 
        Set rst = Nothing
 
End Sub

Der Vollständigkeit halber sei an der Stelle noch angeführt, dass Datenbankverbindungen und die Verarbeitung von Daten immer durch geeignete Methoden zur Fehlerbehandlung abgesichert werden sollen! (Wegen der Übersichtlichkeit wurde in diesen Codes auf die Einbindung solcher Fehlerbehandlungen verzichtet)

Siehe auch