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
 
Für alle welche an der Lösung Interresiert sind.

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

Gruß Werner
 
Zurück