VB.Net und MySql

werner_sg

Erfahrenes Mitglied
Hallo Zusammen,

habe mir mal eingehend das Tutorial von SuperNova angeschaut und versucht umzusetzen, leider scheint irgendwo ein Fehler zu sein.

Zumindest läuft es bei mir nicht :(.

beim Auslösen des Button erhalte ich eine Fehlermeldung:

Eine Ausnahme (erste Chance) des Typs "System.InvalidOperationException" ist in System.dll aufgetreten.
"Kasse.vshost.exe" (Verwaltet (v4.0.30319)): "C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\mscorlib.resources\v4.0_4.0.0.0_de_b77a5c561934e089\mscorlib.resources.dll" geladen
Eine Ausnahme (erste Chance) des Typs "System.TypeInitializationException" ist in Kasse.exe aufgetreten.
Eine nicht behandelte Ausnahme des Typs "System.TypeInitializationException" ist in Kasse.exe aufgetreten.
Zusätzliche Informationen: Der Typeninitialisierer für "Kasse.start_vars" hat eine Ausnahme verursacht.
Der Thread '<Kein Name>' (0x1c20) hat mit Code 0 (0x0) geendet.
Das Programm "[7264] Kasse.vshost.exe: Verwaltet (v4.0.30319)" wurde mit Code 0 (0x0) beendet.

Im Code sind danach alle "conn" markiert
kann es damit zusammenhänen das dass tutorial in 2010 ist und ich selbst 2012 nutze?

start_vars.vb
Code:
Public Class start_vars
    Private Shared aSettingsReader As New System.Configuration.AppSettingsReader

    Public Shared server As String = CStr(aSettingsReader.GetValue("server", GetType(String)))
    Public Shared username As String = CStr(aSettingsReader.GetValue("username", GetType(String)))
    Public Shared password As String = CStr(aSettingsReader.GetValue("password", GetType(String)))
    Public Shared datenbank As String = CStr(aSettingsReader.GetValue("datenbank", GetType(String)))
    Public Shared port As String = CStr(aSettingsReader.GetValue("port", GetType(String)))

    Public Shared myConnectionString As String = "server=" & server & ";uid=" & username & ";pwd=" & password & ";database=" & datenbank & ";port=" & port & ";"
End Class

app1.config
Code:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.diagnostics>
        <sources>
            <!-- Dieser Abschnitt definiert die Protokollierungskonfiguration für My.Application.Log -->
            <source name="DefaultSource" switchName="DefaultSwitch">
                <listeners>
                    <add name="FileLog"/>
                    <!-- Auskommentierung des nachfolgenden Abschnitts aufheben, um in das Anwendungsereignisprotokoll zu schreiben -->
                    <!--<add name="EventLog"/>-->
                </listeners>
            </source>
        </sources>
        <switches>
            <add name="DefaultSwitch" value="Information" />
        </switches>
        <sharedListeners>
            <add name="FileLog"
                 type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" 
                 initializeData="FileLogWriter"/>
            <!-- Auskommentierung des nachfolgenden Abschnitts aufheben und APPLICATION_NAME durch den Namen der Anwendung ersetzen, um in das Anwendungsereignisprotokoll zu schreiben -->
            <!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="APPLICATION_NAME"/> -->
        </sharedListeners>
    </system.diagnostics>
<appSettings>
  
  <add key="server" value="localhost"/>
  <add key="username" value="kasse"/>
  <add key="password" value="Y5eTujLZqhZ5H9Kw"/>
  <add key="datenbank" value="kasse"/>
  <add key="port" value="3306"/>
</appSettings>
</configuration>

Form lieferanten.vb
Code:
Imports Kasse.start_vars
Imports MySql.Data.MySqlClient


Public Class lieferanten

    Public Shared conn As New MySql.Data.MySqlClient.MySqlConnection
    Public Shared da As Common.DbDataAdapter
    Dim sql As String

    Public Shared Sub abfrage_ausfuehren_start_form(ByVal dieser_sql As String)
        Try
            conn.ConnectionString = myConnectionString
            conn.Open()
            da = New MySqlDataAdapter(dieser_sql, conn)
            Dim dt As New DataTable
            da.Fill(dt)
            lieferanten.Anzahl_der_Lieferanten.Text = dt.Rows.Count.ToString
            lieferanten.DataGridView1.DataSource = dt
            conn.Close()
        Catch ex As MySql.Data.MySqlClient.MySqlException
            MessageBox.Show(ex.Message)
        End Try
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        sql = "SELECT * FROM lieferanten"
        abfrage_ausfuehren_start_form(sql)

    End Sub

   

End Class

Vieleicht erkennt ja einer von euch den Fehler

Danke Werner
 

werner_sg

Erfahrenes Mitglied
Für alle welche an der Lösung Interresiert sind.

Das Tutorial von SuperNova läuft nur unter VB2010, dort aber sauber.

Gruß Werner