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