Unidad 56. Enlazar VB y MySQL (III)





56.6. Creamos la base de datos.

Claro está que no hay porque hacerlo desde VB, pero veamos como hacerlo de forma mínima.

Antes de eso hay que configurar la conexión a la base de datos con el objeto Connection.

El nombre de la base de datos se supone declarado a nivel de módulo, la ruta será dentro del directorio de datos de MYSQL, por defecto.

 

Public Sub ConfigConexion( _

                ByRef Conexion As MySql.Data.MySqlClient.MySqlConnection)

 Dim CadenaConexion As String = "Data Source=localhost;" & _

                                "Database=" & NombreBaseDatos & ";" & _

                                "User Id=root;Password="

    Conexion = New MySql.Data.MySqlClient.MySqlConnection(CadenaConexion)

  Try

    Conexion.Open()

  Catch ex As MySql.Data.MySqlClient.MySqlException

    MsgBox("No se ha podido establecer " & vbCrLf & _

           "la conexión con la base de datos.", MsgBoxStyle.Critical)

  Finally

    Select Case Conexion.State

      Case ConnectionState.Open

        Conexion.Close()

    End Select

  End Try

End Sub

 

Está es una opción de entre varias posibles.

Hay que tener presente que la conexión es donde más cambios vamos a encontrar siempre.

 

Después vamos a necesitar un objeto del tipo Command que será el que realizará la tarea.

 

Private Sub CrearBaseDatos()

  Dim Conexion As New MySql.Data.MySqlClient.MySqlConnection

  Dim CadenaSQL As String = "CREATE DATABASE " & NombreBaseDatos & ";"

  Dim CadenaConexion As String = "Data Source=localhost;User Id=root;"

  Dim Comando As New MySql.Data.MySqlClient.MySqlCommand(CadenaSQL)

 

  Conexion = New MySql.Data.MySqlClient.MySqlConnection(CadenaConexion)

  Try

    Conexion.Open()

    Comando.Connection = Conexion

    Comando.CommandType = CommandType.Text

    Try

      Select Case Comando.ExecuteNonQuery

        Case 0

          MsgBox("No se ha creado")

        Case 1

          MsgBox("Creada")

        Case Else

          MsgBox("A saber que ha pasado")

      End Select

    Catch ex As MySql.Data.MySqlClient.MySqlException

      MsgBox("No se ha podido crear" & vbCrLf & _

             "la base de datos.", MsgBoxStyle.Critical, Me.Text)

    End Try

  Catch ex As MySql.Data.MySqlClient.MySqlException

    MsgBox("No se ha podido establecer la" & vbCrLf & _

           "conexión con la base de datos.", MsgBoxStyle.Critical, Me.Text)

  Finally

    Select Case Conexion.State

      Case ConnectionState.Open

        Conexion.Close()

    End Select

  End Try

  Conexion = Nothing

End Sub

 

Esta es la sintaxis mínima para crear una base de datos.

 

  Dim CadenaSQL As String = "CREATE DATABASE " & NombreBaseDatos & ";"

 

Como no hay que esperar datos devueltos el objeto a utilizar para su creación es un objeto Command.

 

  Conexion = New MySql.Data.MySqlClient.MySqlConnection(CadenaConexion)

  Conexion.Open()

  Comando.Connection = Conexion

  Comando.CommandType = CommandType.Text

  Select Case Comando.ExecuteNonQuery

 

La pregunta de control se basa en que haya un dato devuelto, que es la creación de la base de datos.

 

  Select Case Comando.ExecuteNonQuery

    Case 0

      MsgBox("No se ha creado")

    Case 1

      MsgBox("Creada")

    Case Else

      MsgBox("A saber que ha pasado")

  End Select

 

 

En el ejemplo se supone que forma parte de una utilidad y por eso el objeto conexión se configura en el mismo procedimiento.

 

También podemos hacerlo desde la herramienta gráfica de administración, pulsando en la zona de bases de datos y con el botón derecho del ratón seleccionar Create New Schema.

 


Respondemos OK y la base quedará creada.

Octubre-2010
Pág. 56.3

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies