Hallo zusammen,
ich versuche vergebens eine Verbindung zu einer Datenbank mit Hilfe der app.config herzustellen.
Microsoft Visual Studio Express 2012 für Windows Desktop
Microsoft .NET Framework Version 4.5.51209
Ausgangssituation ist nachfolgender Code:
App.config:
Programm-Code:
Ich bekomme immer den nachfolgenden Fehler:
Mit Objektvariable ist ConfigurationManager gemeint, was ich beim Debuggen festgestellt habe. Kann mir aber nicht erklären warum dieser Fehler kommt.
Für eure Hilfe besten Dank schon jetzt im Voraus
ich versuche vergebens eine Verbindung zu einer Datenbank mit Hilfe der app.config herzustellen.
Microsoft Visual Studio Express 2012 für Windows Desktop
Microsoft .NET Framework Version 4.5.51209
Ausgangssituation ist nachfolgender Code:
App.config:
XML-Quellcode
- <?xml version="1.0" encoding="utf-8" ?>
- <configuration>
- <configSections>
- </configSections>
- <connectionStrings>
- <add name="AZE2010" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:\AZE\AZE\AZE Version 1.5.accdb"
- providerName="System.Data.OleDb" />
- <add name="AZE2003" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\AZE\AZE\alte Versionen\AZE Version 1.2.mdb"
- providerName="System.Data.OleDb" />
- </connectionStrings>
- <startup>
- <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0,Profile=Client" />
- </startup>
- </configuration>
Programm-Code:
VB.NET-Quellcode
- Imports System.Data.OleDb
- Imports System.Configuration
- Public Class frmAnmeldung
- Dim oCon As New OleDb.OleDbConnection
- Dim oCmd As New OleDb.OleDbCommand
- Dim oReader As OleDb.OleDbDataReader
- Dim strName As String
- Dim strSql As String
- Dim sConnString As String
- Dim strGruppe As String
- Shared ConfigurationManager As Object
- '************************************************************************************************
- ' Verbindung zur Datenbank aufbauen und
- ' Prüfen, ob die Verbindung zur Datenbank funktioniert
- '************************************************************************************************
- Sub Verbindung()
- Try
- oCon.ConnectionString = GetConnectionStringByName("AZE2010")
- '*****************************************************************************
- '* Connectstring für MS Access ab 2007
- '*****************************************************************************
- 'oCon.ConnectionString = _
- ' "Provider=Microsoft.ACE.OLEDB.12.0;" & _
- ' "Data Source=E:\AZE\AZE\AZE Version 1.5.accdb"
- '*****************************************************************************
- '* Connectstring für MS Access vor 2007
- '*****************************************************************************
- 'oCon.ConnectionString = _
- ' "Provider=Microsoft.Jet.OLEDB.4.0;" & _
- ' "Data Source=E:\AZE\AZE\alte Versionen\AZE Version 1.2.mdb"
- oCmd.Connection = oCon
- oCon.Open()
- If oCon.State = 1 Then
- Me.lblAusgabe.Text = "Connect successful"
- Me.lblAusgabe.BackColor = Color.GreenYellow
- Else
- Me.lblAusgabe.Text = "Connect not successful"
- Me.lblAusgabe.BackColor = Color.Red
- End If
- Catch ex As Exception
- MsgBox(Err.Description)
- End Try
- End Sub
- '************************************************************************************************
- ' Aufrufen Sub Verbindung und
- ' ComboBox mit allen Benutzer der Tabelle [tblBenutzer] füllen
- '************************************************************************************************
- Private Sub CobBenutzer_DropDown(sender As Object, e As EventArgs) Handles CobBenutzer.DropDown
- Try
- Verbindung()
- oCmd.CommandText = "SELECT Benutzername FROM tblBenutzer ORDER BY Benutzername"
- oReader = oCmd.ExecuteReader
- Me.CobBenutzer.Items.Clear()
- Do While oReader.Read
- Me.CobBenutzer.Items.Add(oReader("Benutzername"))
- Loop
- oReader.Close()
- oCon.Close()
- Catch ex As Exception
- MsgBox(Err.Description)
- oCon.Close()
- End Try
- End Sub
- '************************************************************************************************
- ' Ausgewählten Benutzer zwischenspeichern
- '************************************************************************************************
- Private Sub CobBenutzer_SelectedIndexChanged(sender As Object, e As EventArgs) Handles CobBenutzer.SelectedIndexChanged
- strName = Me.CobBenutzer.SelectedItem.ToString
- End Sub
- '************************************************************************************************
- ' Ausgewählter Benutzer und Passwort früfen
- '************************************************************************************************
- Private Sub btnAnmeldung_Click(sender As Object, e As EventArgs) Handles btnAnmeldung.Click
- Dim oReader As OleDb.OleDbDataReader
- Dim strPasswort As String
- Dim strGruppe As String
- strPasswort = Me.txtPassword.Text
- Me.lblFehlermeldung.Visible = True
- Try
- Verbindung()
- If oCon.State = 1 Then
- strSql = "SELECT * FROM tblBenutzer " &
- "WHERE Benutzername='" & strName &
- "' AND Passwort='" & strPasswort & "'"
- oCmd.CommandText = strSql
- oReader = oCmd.ExecuteReader
- If oReader.HasRows = True Then
- oReader.Read()
- strGruppe = oReader("Rechte")
- 'frmHome.txtGruppe.Text = strGruppe
- 'frmHome.txtGruppe.Visible = True
- frmHome.ShowDialog()
- Else
- Me.lblFehlermeldung.Visible = True
- End If
- oReader.Close()
- oCon.Close()
- Else
- MsgBox("Verbindung steht nicht")
- End If
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- End Sub
- '************************************************************************************************
- ' Beim Laden der Form Datum bereitstellen
- '************************************************************************************************
- Private Sub frmAnmeldung_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Me.lblDatum.Text = DateTime.Now.ToString("F")
- End Sub
- '************************************************************************************************
- ' Programm beenden
- '************************************************************************************************
- Private Sub btnAbbruch_Click(sender As Object, e As EventArgs) Handles btnAbbruch.Click
- Application.Exit()
- End Sub
- ' Retrieves a connection string by name.
- ' Returns Nothing if the name is not found.
- Private Shared Function GetConnectionStringByName(ByVal strName As String) As String
- ' Assume failure
- Dim returnValue As String = Nothing
- ' Look for the name in the connectionStrings section.
- Dim ConnectionString As String = ConfigurationManager.ConnectionStrings(strName)
- ' If found, return the connection string.
- If Not ConnectionString Is Nothing Then
- returnValue = ConnectionString
- End If
- Return returnValue
- End Function
- End Class
Ich bekomme immer den nachfolgenden Fehler:
Die Objektvariable oder die With-Blockvariable wurde nicht festgelegt.
Mit Objektvariable ist ConfigurationManager gemeint, was ich beim Debuggen festgestellt habe. Kann mir aber nicht erklären warum dieser Fehler kommt.
Für eure Hilfe besten Dank schon jetzt im Voraus