Вы находитесь на странице: 1из 32

- En primer lugar descargaremos el driver ODBC de la web:

http://www.mysql.com/products/connector/.




2- Seguidamente lo instalaremos en el equipo o equipos que se conectarn a MySQL:
descomprimiremos el archivo mysql-connector-odbc-3.51.16-win32.zip y ejecutaremos la
instalacin:




3- Para comprobar que se ha instalado correctamente el driver MyODBC, podremos crearnos
una conexin de ejemplo, desde "Inicio" - "Configuracin" - "Panel de control" - "Herramientas
administrativas" - "Orgenes de datos ODBC". En la pestaa "DSN de sistema" (si queremos
que est disponible para todos los usuarios del equipo) "DSN de usuario" (para que slo est
disponible para el usuario actual con el que hemos iniciado sesin), pulsaremos en "Agregar":




4- Seleccionaremos el origen de datos "MySQL ODBC 3.51 Driver" (o el correspondiente a la
versin de MySQL ODBC de que dispongamos), pulsaremos "Finalizar":



5- Rellenaremos los datos correspondientes en la pestaa "Login":
Data Source Name: conexion_vb
Description: Conexin BD Visual Basic .Net
Server: localhost
User: root (O el usuario de la base de datos, como en este ejemplo estoy usando la de prueba)
Password: la que ustedes le pusieron al root o el usuario de la base de datos
Database: test

Una vez completados los datos anteriores pulsaremos "Test" para comprobar que la conexin
funciona correctamente:



6- Si no hay problemas veremos la siguiente ventana:




Segunda parte, diseo de la interface:

1- Tras instalar el driver MyODBC correspondiente, abriremos Microsoft Visual Studio,
seleccionaremos "Nuevo proyecto...":




2- En "Tipos de proyecto" seleccionaremos "Visual Basic" - "Windows", en "Plantillas"
seleccionaremos "Aplicacin para Windows":. En "Nombre" introduciremos el nombre del
proyecto, en nuestro caso "Conexin a MySQL". Pulsaremos "Aceptar" para continuar:




3- El asistente de creacin de nuevo proyecto Visual Studio (Visual Basic) nos crear un
proyecto con la siguiente estructura: El proyecto en s (My Project), un diagrama de clase
(ClassDiagram1.cd) y un formulario (Form1.vb).




En nuestro caso hemos decidido cambiar el nombre al fichero del formulario, para ello, desde la
ventana de "Explorador de soluciones", pulsamos con el botn derecho del ratn sobre
Form1.vb y seleccionamos "Cambiar nombre":




4- Tambin cambiaremos el nombre al objeto Formulario, para ello seleccionaremos el
formulario en si (el que aparece a la izquierda y en la ventana de "Propiedades", nos situamos
en la propiedad "Name" e introducimos en nombre que queramos darle al formulario:




5- Ahora construiremos la siguiente interface (Arrastrando los elementos al formulario desde el
panel Toolbox en caso de que est desactivado, lo activaremos desde en men View/ tolos o
presionando las teclas Control + Alt + x




6- Arrastraremos los siguientes objetos a la aplicacin:

1- Objeto Groupbox, con el nombre Groupbox1 y el texto Datos de conexin
2- Objeto label, con nombre Label1 y el texto Motor BD
3- Objeto comboBox, con el nombre txtMotor

Tomemos en cuenta que el nombre de los objetos se asigna desde el panel Properties




7- Y que el texto va desplegar desde la opcin text, en el mismo panel properties.




8- Los elementos que se han agregado hasta el momento:




9- Colocaremos el puntero del mouse sobre el combobox, presionaremos el botn derecho del
mouse para activar el men y elegiremos la opcin Edit Items




10- Escribiremos MySQL, y haremos clic en ok




11- Agregaremos dos botones y un label ms, a los botones les asignaremos los nombres:

4- bConectar
5- bDesconectar
Al label le asignaremos el nombre
6- lInfo




7- Agregaremos otro Groupbox, con el nombre GroupBox2, y le asignamos el texto SQL a
ejecutar
8- Agregaremos un textBox, con el nombre txtSQL




Podemos activar el scrollbar desde el panel de Propiedades:




Agregaremos tres botones ms, con los nombres:
9- bEjecutar
10- bCargar
11- bGuardar
12- Agregaremos otro label, con el nombre label4, y el texto: El resultado se muestra con los
campos separados por tabulador
13- Agregaremos un textbox con el nombre txtResultado
Finalmente agregaremos cuatro botones con las siguientes caractersticas:
14- bGuardarResultado
15- bSeleccionarTodo
16- bCopiar
17- bLimpiar



Tercera parte, programacin

Seleccionaremos el formulario e iremos al men "Ver" - "Cdigo" o simplemente pulsaremos la
tecla F7):

Agregaremos el siguiente cdigo de programacin:

Imports System.Data
Imports System.Data.Odbc
Imports System
Imports System.IO

Public Class formMenuPrincipal
Public conexionBD As OdbcConnection


Private Sub bConectar_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles bConectar.Click
Try
If (txtMotor.Text = "MySQL" Or (txtMotor.Text = "" Then
conexionBD = New OdbcConnection("dsn=conexion_vb"
Importante, despus de dsn= escribir el nombre de la conexin que creamos en la
primera parte

End If

conexionBD.Open()
lInfo.Text = "Conectado correctamente"
bDesconectar.Enabled = True
bEjecutar.Enabled = True

Catch ex As OdbcException
lInfo.Text = "Error en la conexin"
bDesconectar.Enabled = False
bEjecutar.Enabled = False
MsgBox(ex.Message)
End Try
End Sub

Private Sub bDesconectar_Click(ByVal sender _
As System.Object, ByVal e As System.EventArgs) _
Handles bDesconectar.Click
Try
conexionBD.Close()
lInfo.Text = "Desconectado correctamente"
Catch ex As OdbcException
'silenciosa
lInfo.Text = "Desconectado correctamente"
End Try
End Sub

Private Sub bEjecutar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bEjecutar.Click
Try
Dim sql As String = txtSQL.Text
Dim comandoSQL As OdbcCommand = _
New OdbcCommand(sql, conexionBD)
Dim resultadoSQL As OdbcDataReader = _
comandoSQL.ExecuteReader()
Dim i As Integer

txtResultado.Clear()

For i = 0 To resultadoSQL.FieldCount - 1
If txtResultado.Text <> "" Then
txtResultado.Text = txtResultado.Text & _
Chr(9) & resultadoSQL.GetName(i)
Else
txtResultado.Text = resultadoSQL.GetName(i)
End If
Next i

While resultadoSQL.Read
txtResultado.Text = txtResultado.Text & _
Chr(13) & Chr(10)
For i = 0 To resultadoSQL.FieldCount - 1
If i = 0 Then
txtResultado.Text = txtResultado.Text & _
resultadoSQL(i).ToString
Else
txtResultado.Text = txtResultado.Text & _
Chr(9) & resultadoSQL(i).ToString
End If
Next i
End While

Catch ex As OdbcException
MsgBox(ex.Message)
End Try
End Sub

Private Sub bGuardar_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles bGuardar.Click

Dim dlAbrir As New _
System.Windows.Forms.SaveFileDialog

dlAbrir.Filter = "Archivos de Texto (*.txt)|*.txt|" & _
"Archivos de SQL (*.sql)|*.sql|" & _
"Todos los archivos (*.*)|*.*"
dlAbrir.CheckFileExists = False
dlAbrir.OverwritePrompt = True
dlAbrir.Title = "Guardar SQL en fichero"
dlAbrir.ShowDialog()
If dlAbrir.FileName <> "" Then
Dim fichero As New _
System.IO.StreamWriter(dlAbrir.FileName)
fichero.WriteLine(txtSQL.Text)
fichero.Close()
End If
End Sub

Private Sub bCargar_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles bCargar.Click
Dim dlAbrir As New _
System.Windows.Forms.OpenFileDialog

dlAbrir.Filter = "Archivos de Texto (*.txt)|*.txt|" & _
"Archivos de SQL (*.sql)|*.sql|" & _
"Todos los archivos (*.*)|*.*"
dlAbrir.CheckFileExists = False
dlAbrir.Multiselect = False
dlAbrir.Title = "Abrir fichero SQL"
dlAbrir.ShowDialog()
If dlAbrir.FileName <> "" Then
Dim fichero As New _
System.IO.StreamReader(dlAbrir.FileName)
txtSQL.Text = fichero.ReadLine
fichero.Close()
End If
End Sub


Private Sub bLimpiar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bLimpiar.Click
txtResultado.Clear()
End Sub

Private Sub bCopiar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bCopiar.Click
txtResultado.Copy()
End Sub

Private Sub bSeleccionarTodo_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bSeleccionarTodo.Click
txtResultado.SelectAll()
End Sub

Private Sub bGuardarResultado_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bGuardarResultado.Click
Dim dlAbrir As New _
System.Windows.Forms.SaveFileDialog

dlAbrir.Filter = "Archivos de texto (*.txt)|*.txt|" & _
"Todos los archivos (*.*)|*.*"
dlAbrir.CheckFileExists = False
dlAbrir.OverwritePrompt = True
dlAbrir.Title = "Guardar resultado ejecucin SQL"
dlAbrir.ShowDialog()
If dlAbrir.FileName <> "" Then
Dim fichero As New _
System.IO.StreamWriter(dlAbrir.FileName)
fichero.WriteLine(txtResultado.Text)
fichero.Close()
End If
End Sub
End Class

Terminado lo anterior pueden presionar la tecla F5 para probar la aplicacin. Con Shift + F5
detienen la ejecucin.
Con el programa ejecutndose, pueden hacer lo siguiente:

1- Seleccionar desde el combobox el motor de base de datos
2- Hacer clic en el botn Conectar
3- Escribir una sentencia MySQL
4- Hacer clic en ejecutar

Si queremos podemos guardar los resultados, copiar o limpiar la pantalla




Estoy seguro que este tutorial ayudar a algunos que estn aprendiendo a usar Visual,
preguntas o comentarios estoy a la orden. - En primer lugar descargaremos el driver ODBC de
la web: http://www.mysql.com/products/connector/.




2- Seguidamente lo instalaremos en el equipo o equipos que se conectarn a MySQL:
descomprimiremos el archivo mysql-connector-odbc-3.51.16-win32.zip y ejecutaremos la
instalacin:




3- Para comprobar que se ha instalado correctamente el driver MyODBC, podremos crearnos
una conexin de ejemplo, desde "Inicio" - "Configuracin" - "Panel de control" - "Herramientas
administrativas" - "Orgenes de datos ODBC". En la pestaa "DSN de sistema" (si queremos
que est disponible para todos los usuarios del equipo) "DSN de usuario" (para que slo est
disponible para el usuario actual con el que hemos iniciado sesin), pulsaremos en "Agregar":




4- Seleccionaremos el origen de datos "MySQL ODBC 3.51 Driver" (o el correspondiente a la
versin de MySQL ODBC de que dispongamos), pulsaremos "Finalizar":



5- Rellenaremos los datos correspondientes en la pestaa "Login":
Data Source Name: conexion_vb
Description: Conexin BD Visual Basic .Net
Server: localhost
User: root (O el usuario de la base de datos, como en este ejemplo estoy usando la de prueba)
Password: la que ustedes le pusieron al root o el usuario de la base de datos
Database: test

Una vez completados los datos anteriores pulsaremos "Test" para comprobar que la conexin
funciona correctamente:



6- Si no hay problemas veremos la siguiente ventana:




Segunda parte, diseo de la interface:

1- Tras instalar el driver MyODBC correspondiente, abriremos Microsoft Visual Studio,
seleccionaremos "Nuevo proyecto...":




2- En "Tipos de proyecto" seleccionaremos "Visual Basic" - "Windows", en "Plantillas"
seleccionaremos "Aplicacin para Windows":. En "Nombre" introduciremos el nombre del
proyecto, en nuestro caso "Conexin a MySQL". Pulsaremos "Aceptar" para continuar:




3- El asistente de creacin de nuevo proyecto Visual Studio (Visual Basic) nos crear un
proyecto con la siguiente estructura: El proyecto en s (My Project), un diagrama de clase
(ClassDiagram1.cd) y un formulario (Form1.vb).




En nuestro caso hemos decidido cambiar el nombre al fichero del formulario, para ello, desde la
ventana de "Explorador de soluciones", pulsamos con el botn derecho del ratn sobre
Form1.vb y seleccionamos "Cambiar nombre":




4- Tambin cambiaremos el nombre al objeto Formulario, para ello seleccionaremos el
formulario en si (el que aparece a la izquierda y en la ventana de "Propiedades", nos situamos
en la propiedad "Name" e introducimos en nombre que queramos darle al formulario:




5- Ahora construiremos la siguiente interface (Arrastrando los elementos al formulario desde el
panel Toolbox en caso de que est desactivado, lo activaremos desde en men View/ tolos o
presionando las teclas Control + Alt + x




6- Arrastraremos los siguientes objetos a la aplicacin:

1- Objeto Groupbox, con el nombre Groupbox1 y el texto Datos de conexin
2- Objeto label, con nombre Label1 y el texto Motor BD
3- Objeto comboBox, con el nombre txtMotor

Tomemos en cuenta que el nombre de los objetos se asigna desde el panel Properties




7- Y que el texto va desplegar desde la opcin text, en el mismo panel properties.




8- Los elementos que se han agregado hasta el momento:




9- Colocaremos el puntero del mouse sobre el combobox, presionaremos el botn derecho del
mouse para activar el men y elegiremos la opcin Edit Items




10- Escribiremos MySQL, y haremos clic en ok




11- Agregaremos dos botones y un label ms, a los botones les asignaremos los nombres:

4- bConectar
5- bDesconectar
Al label le asignaremos el nombre
6- lInfo




7- Agregaremos otro Groupbox, con el nombre GroupBox2, y le asignamos el texto SQL a
ejecutar
8- Agregaremos un textBox, con el nombre txtSQL




Podemos activar el scrollbar desde el panel de Propiedades:




Agregaremos tres botones ms, con los nombres:
9- bEjecutar
10- bCargar
11- bGuardar
12- Agregaremos otro label, con el nombre label4, y el texto: El resultado se muestra con los
campos separados por tabulador
13- Agregaremos un textbox con el nombre txtResultado
Finalmente agregaremos cuatro botones con las siguientes caractersticas:
14- bGuardarResultado
15- bSeleccionarTodo
16- bCopiar
17- bLimpiar



Tercera parte, programacin

Seleccionaremos el formulario e iremos al men "Ver" - "Cdigo" o simplemente pulsaremos la
tecla F7):

Agregaremos el siguiente cdigo de programacin:

Imports System.Data
Imports System.Data.Odbc
Imports System
Imports System.IO

Public Class formMenuPrincipal
Public conexionBD As OdbcConnection


Private Sub bConectar_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles bConectar.Click
Try
If (txtMotor.Text = "MySQL" Or (txtMotor.Text = "" Then
conexionBD = New OdbcConnection("dsn=conexion_vb"
Importante, despus de dsn= escribir el nombre de la conexin que creamos en la
primera parte

End If

conexionBD.Open()
lInfo.Text = "Conectado correctamente"
bDesconectar.Enabled = True
bEjecutar.Enabled = True

Catch ex As OdbcException
lInfo.Text = "Error en la conexin"
bDesconectar.Enabled = False
bEjecutar.Enabled = False
MsgBox(ex.Message)
End Try
End Sub

Private Sub bDesconectar_Click(ByVal sender _
As System.Object, ByVal e As System.EventArgs) _
Handles bDesconectar.Click
Try
conexionBD.Close()
lInfo.Text = "Desconectado correctamente"
Catch ex As OdbcException
'silenciosa
lInfo.Text = "Desconectado correctamente"
End Try
End Sub

Private Sub bEjecutar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bEjecutar.Click
Try
Dim sql As String = txtSQL.Text
Dim comandoSQL As OdbcCommand = _
New OdbcCommand(sql, conexionBD)
Dim resultadoSQL As OdbcDataReader = _
comandoSQL.ExecuteReader()
Dim i As Integer

txtResultado.Clear()

For i = 0 To resultadoSQL.FieldCount - 1
If txtResultado.Text <> "" Then
txtResultado.Text = txtResultado.Text & _
Chr(9) & resultadoSQL.GetName(i)
Else
txtResultado.Text = resultadoSQL.GetName(i)
End If
Next i

While resultadoSQL.Read
txtResultado.Text = txtResultado.Text & _
Chr(13) & Chr(10)
For i = 0 To resultadoSQL.FieldCount - 1
If i = 0 Then
txtResultado.Text = txtResultado.Text & _
resultadoSQL(i).ToString
Else
txtResultado.Text = txtResultado.Text & _
Chr(9) & resultadoSQL(i).ToString
End If
Next i
End While

Catch ex As OdbcException
MsgBox(ex.Message)
End Try
End Sub

Private Sub bGuardar_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles bGuardar.Click

Dim dlAbrir As New _
System.Windows.Forms.SaveFileDialog

dlAbrir.Filter = "Archivos de Texto (*.txt)|*.txt|" & _
"Archivos de SQL (*.sql)|*.sql|" & _
"Todos los archivos (*.*)|*.*"
dlAbrir.CheckFileExists = False
dlAbrir.OverwritePrompt = True
dlAbrir.Title = "Guardar SQL en fichero"
dlAbrir.ShowDialog()
If dlAbrir.FileName <> "" Then
Dim fichero As New _
System.IO.StreamWriter(dlAbrir.FileName)
fichero.WriteLine(txtSQL.Text)
fichero.Close()
End If
End Sub

Private Sub bCargar_Click(ByVal sender As _
System.Object, ByVal e As System.EventArgs) _
Handles bCargar.Click
Dim dlAbrir As New _
System.Windows.Forms.OpenFileDialog

dlAbrir.Filter = "Archivos de Texto (*.txt)|*.txt|" & _
"Archivos de SQL (*.sql)|*.sql|" & _
"Todos los archivos (*.*)|*.*"
dlAbrir.CheckFileExists = False
dlAbrir.Multiselect = False
dlAbrir.Title = "Abrir fichero SQL"
dlAbrir.ShowDialog()
If dlAbrir.FileName <> "" Then
Dim fichero As New _
System.IO.StreamReader(dlAbrir.FileName)
txtSQL.Text = fichero.ReadLine
fichero.Close()
End If
End Sub


Private Sub bLimpiar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bLimpiar.Click
txtResultado.Clear()
End Sub

Private Sub bCopiar_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bCopiar.Click
txtResultado.Copy()
End Sub

Private Sub bSeleccionarTodo_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bSeleccionarTodo.Click
txtResultado.SelectAll()
End Sub

Private Sub bGuardarResultado_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles bGuardarResultado.Click
Dim dlAbrir As New _
System.Windows.Forms.SaveFileDialog

dlAbrir.Filter = "Archivos de texto (*.txt)|*.txt|" & _
"Todos los archivos (*.*)|*.*"
dlAbrir.CheckFileExists = False
dlAbrir.OverwritePrompt = True
dlAbrir.Title = "Guardar resultado ejecucin SQL"
dlAbrir.ShowDialog()
If dlAbrir.FileName <> "" Then
Dim fichero As New _
System.IO.StreamWriter(dlAbrir.FileName)
fichero.WriteLine(txtResultado.Text)
fichero.Close()
End If
End Sub
End Class

Terminado lo anterior pueden presionar la tecla F5 para probar la aplicacin. Con Shift + F5
detienen la ejecucin.
Con el programa ejecutndose, pueden hacer lo siguiente:

1- Seleccionar desde el combobox el motor de base de datos
2- Hacer clic en el botn Conectar
3- Escribir una sentencia MySQL
4- Hacer clic en ejecutar

Si queremos podemos guardar los resultados, copiar o limpiar la pantalla




Estoy seguro que este tutorial ayudar a algunos que estn aprendiendo a usar Visual,
preguntas o comentarios estoy a la orden.

Вам также может понравиться