Nieuwe (mysql) database maken in vb net 2010

Status
Niet open voor verdere reacties.

djenn

Gebruiker
Lid geworden
2 sep 2006
Berichten
68
Goede morgen mensen,

Ik wil met behulp van vb 2010 een database maken, en heb daartoe MySQL geinstalleerd.
Nu kan ik met de manager van MySQL gemakkelijk databases maken, maar ik wil het helemaal programmatisch doen.
En ik zoek me wezeloos naar een voorbeeld daarvan.
Maar het punt is dat alle vooorbeelden die ik kan vinden een connectie met een al bestaande database maken, en dat is nu wat ik niet wil.
Kan iemand me svp eens een klein voorbeeldje geven hoe je dat in vb doet?
Hieronder een stukje code waarin ik een connectie maak met de Server.... maar dan ?

Code:
  Dim sc As MySqlCommand = New MySqlCommand
        Dim SQLConnection As MySqlConnection = New MySqlConnection
        SQLConnection.ConnectionString = Serverstring

        Try
            If SQLConnection.State = ConnectionState.Closed Then
                SQLConnection.Open()
              
            
  ' Hier zou dan een commando moeten komen die een database creëerd.
 
 
             
   MsgBox("Connection Establisht")
            Else
                SQLConnection.Close()
                MsgBox("Connection closed")
            End If
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
 
het commando daarvoor staat volgens mij gewoon in de guide:

[sql]
CREATE DATABASE my_db
[/sql]
vervolgens (na aanpassen connection string om in te loggen in my_db):

[sql]
CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
....
)
[/sql]

in de create table kun je ook primary key etc. meegeven.
 
Nou Wampier na het lezen van je suggestie dacht ik dat het makkelijk zou gaan worden, maar helaas.

Als ik onderstaand code uitvoer krijg ik de melding :

System.InvalidOperationException was caught
Message=Connection must be valid and open.
Source=MySql.Data
StackTrace:
bij MySql.Data.MySqlClient.MySqlCommand.CheckState()
bij MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
bij MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
bij MySQL.Form1.Form1_Load(Object sender, EventArgs e) in E:\Visual Basic\Budget\MySQL\MySQL\Form1.vb:regel 13


Volgens de handleiding is dit toch het juiste commando, of toch niet?

Code:
 Dim Serverstring As String = "Server=localhost;User Id=root;Password=djenn"

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        Dim sc As MySqlCommand = New MySqlCommand
        Dim SQLConnection As MySqlConnection = New MySqlConnection
        SQLConnection.ConnectionString = Serverstring
        Try
            If SQLConnection.State = ConnectionState.Closed Then
                SQLConnection.Open()                                                    // Hier gaat het nog goed, de verbinding wordt gemaakt en het programma gaat verder
                Dim cmd As New MySqlCommand(("CREATE DATABASE mydb"))
                cmd.ExecuteNonQuery()                                                 // Hier niet meer we springen naar de catch opdracht.
            Else
                SQLConnection.Close()
                MsgBox("Connection closed")
            End If
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan