como conectar visual basic con mysql
Post on 06-Mar-2015
32 Views
Preview:
TRANSCRIPT
COMO CONECTAR VISUAL BASIC CON MySQL
Empezamos!!!
Lo primero que necesitamos es el driver para la conexión (MySQL Connector/ODBC 3.51) que lo descargaremos de AQUI
Lo siguiente es agregar las referencias necesarias para nuestro proyecto.
Abrimos Visual Basic > Nuevo proyecto > EXE estándar > picamos en proyecto > referencias.
Se abrirá una ventana y seleccionaremos estas dos referencias:
1. Microsoft DAO 3.51 Object Library 2. Microsoft ActiveX Data Objects 2.0 Library
Una vez agregadas las referencias pulsamos aceptar.
En el formulario añadimos 5 TextBox y 2 commandButton Esta va ha ser una versión simple para ver como conecta con MySQL y trata los datos, después de vuestra parte esta hacerlo mas complejo. (los nombres de los textbox y de los commandbutton son los da el programa por defecto)
Usaremos los campos de texto en este orden:
Text1 > puerto (3306) Text2 > nombre (nombre de usuario)* Text3 > contraseña (contraseña del usuario) Text4 > nombre de la base de datos (nombre de la base de datos) Text5 > servidor (DNS del servidor) Command1 > conectar Command2 > visualizar
NOTA: El usuario tiene que estar creado en tu servidor, así que créalo y asígnale los permisos pertinentes (por lo menos lectura) También tienes que tener en cuenta el Administrador de acceso MySQL remoto (si tienes dudas agrega un % ), no es seguro pero para hacer alguna prueba no creo que tengas que preocuparte en exceso.
Declaramos las variables:
Código:
Public BD As ADODB.Connection
Public RecSQL As ADODB.Recordset
Contenido del command1 (conectar con la base de datos)
Código:
Private Sub Command1_Click() On Error GoTo Ver
Set BD = New ADODB.Connection BD.ConnectionString = "driver={MySQL ODBC 3.51 Driver};" & _ "Server=" & Text1 & ";" & _ "Port=" & Text2 & ";" & _ "Database=" & Text3 & ";" & _ "User=" & Text4 & ";" & _ "Password=" & Text5 & ";" & _ "Option=3;"
BD.Open
MsgBox "Conexión establecida!!!", vbExclamation, "Conexión"
Exit Sub Ver: MsgBox "Nº de error: " & Err.Number & " | " & Err.Description, vbCritical, "Control de errores" Err.Clear End Sub
Una vez la conexión se ha establecido nos queda ver los datos, así que vamos a ello.
Contenido del command2 (recorrer la base de datos)
Código:
Private Sub Command1_Click () On Error GoTo Ver
Set RecBD = New ADODB.Recordset RecBD.Open "select * from datos", BD, adOpenStatic, adLockOptimistic
While Not RecBD.EOF MsgBox "Su ID: " & RecBD.Fields(0) & " | " & " y su nombre " & RecBD.Fields(1), , "Información..." RecBD.MoveNext
Wend
Exit Sub Ver: MsgBox "Nº de error: " & Err.Number & " | " & Err.Description, vbCritical, "Control de errores" Err.Clear End Sub
El sistema es muy similar a Access y la verdad es que es muy intuitivo.
Añadiendo registros: Hay dos formas para añadir registros (una más correcta y rápida que la otra)
Esta es la menos correcta:
Código:
Set RecSQL = New ADODB.Recordset RecSQL.Open "select * from datos", BD, adOpenStatic, adLockOptimistic
RecSQL.AddNew RecSQL.Fields(1).Value = Text1 RecSQL.Fields(2).Value = Text2 RecSQL.Update
RecSQL.Close Set RecSQL = Nothing
Esta es la más correcta:
Código:
Set RecSQL = New ADODB.Recordset
RecSQL.Open "INSERT INTO datos (id,nombre) VALUES (" & val(Text1) & ",'" & Text2 & "')", BD, adOpenStatic, adLockOptimistic
Set RecSQL = Nothing
Como modificar registros:
Código:
Set RecSQL = New ADODB.Recordset
RecSQL.Open "UPDATE datos SET id=" & val(Text1) & " , nombre='" & Text2 & "' WHERE id =" & 1 , BD, adOpenStatic, adLockOptimistic
Set RecSQL = Nothing
Eliminando registros: Hay dos maneras de hacer esta operación (una mas correcta que otra, pero la tenéis que descubrir jejejejeje)
Esta es la primera:
Código:
Set RecSQL = New ADODB.Recordset
RecSQL.Open "SELECT * FROM datos WHERE id =" & Val(Text1), BD, adOpenStatic, adLockOptimistic
RecSQL.Delete Set RecSQL = Nothing
O se puede hacer la búsqueda con LIKE:
Código:
Set RecSQL = New ADODB.Recordset RecSQL.Open "SELECT * FROM datos WHERE nombre LIKE ‘" & Text2 & “’”, BD, adOpenStatic, adLockOptimistic RecSQL.Delete Set RecSQL = Nothing
Esta es la otra:
Código:
Set RecSQL = New ADODB.Recordset
RecSQL.Open "DELETE FROM contactos WHERE id=" & Val(Text1), BD, adOpenStatic, adLockOptimistic
Set RecSQL = Nothing
Como trata las fechas MySQL? El formato predefinido es AAAA-MM-DD ¿y como lo tratamos desde Visual Basic?,es bastante sencillo, lo vemos…
Esta es una consulta de un campo fecha:
Código:
Set RecSQL = New ADODB.Recordset
RecSQL.Open "SELECT * FROM tabla WHERE Campo_fecha=’” & Format(Text2, "yyyy-mm-dd") & "'”, BD, adOpenStatic, adLockOptimistic
Esta es una consulta de un rango de fechas:
Código:
Set RecSQL = New ADODB.Recordset
RecSQL.Open "SELECT * FROM tabla WHERE Campo_fecha BETWEEN '" & Format(Text1, "yyyy-mm-dd") & "' AND '" & Format(Text2, "yyyy-mm-dd") & "'”, BD, adOpenStatic, adLockOptimistic
top related