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.
Síguenos en: Facebook Sobre aulaClic Política de Cookies