VB erzeugt Datentabelle nicht...

Rene42

Erfahrenes Mitglied
Hi,

ich verwende folgenden Quelltext

Code:
 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim con As New MySql.Data.MySqlClient.MySqlConnection
        Dim cmd As New MySql.Data.MySqlClient.MySqlCommand
        'Dim reader As MySql.Data.MySqlClient.MySqlDataReader       
        con.ConnectionString = "Data Source=localhost;" _
           & "Initial Catalog=Doppelkopf;UID=root;password=******"
        Try
            cmd.Connection = con
            cmd.CommandText = "CREATE TABLE IF NOT EXISTS `Four` (Spieler1 char(64));"
            con.Open()
            con.Close()
        Catch Ex As Exception
            MsgBox(Ex.Message)
        End Try
    End Sub

Ich bekomme im Fehlerfenster den hinweis auf eine Ausnahme ersten Chance, aber die wird nicht genauer durch Try, catch abgefangen. Ich vermute, dass auch deshalb in der Database Doppelkopf keine Tabelle erzeugt wird....

Rene
 
Zuletzt bearbeitet:
Hallo Rene,

wenn ich deinen Code nehme und nur meine Datenbankdaten
eintrage und das cmd auch ausführe (was du nicht machst
siehe cmd.ExecuteNonQuery())
funktioniert es.

Code:
 Dim con As New MySql.Data.MySqlClient.MySqlConnection
        Dim cmd As New MySql.Data.MySqlClient.MySqlCommand

        con.ConnectionString = "Data Source=localhost;" _
           & "Initial Catalog=Doppelkopf;UID=root;password=deinPasswort"

        Try
            cmd.Connection = con
            cmd.CommandText = "CREATE TABLE IF NOT EXISTS `Four` (Spieler1 char(64));"
            con.Open()
            cmd.ExecuteNonQuery()

            con.Close()
        Catch Ex As Exception
            MsgBox(Ex.Message)
        End Try

Der Code zum Anlegen der Tabelle wäre jetzt ok, aber wenn bei dir
ein Fehler kommt der nicht abgefangen wird, tritt er vor dem
Try Catch Block auf.
Steht vor dem Try wirklich nur der gepostete Code ?
Ansonsten setze mal das Try an den Anfang des Codes.

Was mir noch auffällt...

Wieso im Load Ereignis MyBase.Load und nicht Me.Load ?

Gruß
Jens
 
Dank dir Jens,

das cmd.ExecuteNonQuery war wirklich das Problem.

Das MyBase.Load ist warhscheinlich darauf zurückzuführen, dass hier das Startformular und nicht irgendeines in der Anwendung geladen wird, weiß ich aber net genau.

Rene
 

Neue Beiträge

Zurück