conexion mysql y vb6

Download Conexion Mysql y Vb6

Post on 26-Oct-2014

240 views

Category:

Documents

10 download

Embed Size (px)

TRANSCRIPT

Crear conexion base de datos mysq. 1. Descargar e instalar el controlador odbc 3.51 o 5.1 2. Crear conexion, Ir a herramientas Administrativas y ejecutar origenes de datos ODBC 3. Click en agregar, selecciona el driver 3.51 o 5.1 segun sea el caso, agrgar el puerto de conexion, en connect options (el puerto puede ser 3306 o segun el puerto utilizado por apache)

4. En caso de tener problemas con la conexion, debera crear un usuario, en mysql para pueda acceder a los datos desde cualquier direccion ip. Para crear un el usuario por codigo : CREATE USER 'root'@'%' IDENTIFIED BY '1015476aqcpeke'; GRANT ALL PRIVILEGES ON * . * TO 'root'@'%' IDENTIFIED BY '1015476aqcpeke' WITH GRANT OPTION MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0 MAX_USER_CONNECTIONS 0 ; Creacion de Usuario desde phpmyadmin

-Acceder a http://localhost/phpmyadmin/ y dar clic en privilegios -Click en agregar nuevo Usuario

Conexion mysq y vb6 Adrian_fisa@hotmail.com

-Click en Continuar, de esta manera se aceptara la conexion, (Solo si hay problemas como en mi caso)

5.- Ahora que ya podemos acceder desde cualquier direccion ip a nuetra base de datos, accedamos desde visual basic 6.0, se crea un formulario con 5 texbox.

Conexion mysq y vb6 Adrian_fisa@hotmail.com

6.- Programacion de acceso.Private Sub Conectar_Click() If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Or Text4.Text = "" Or Text5.Text = "" Then MsgBox "Para poder conectarse al servidor, es necesario llenar todos los campos" Else 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 Proventas.Server1.Text = login.Text1.Text Proventas.port1.Text = login.Text2.Text Proventas.basedatos.Text = login.Text3.Text Proventas.usuario1.Text = login.Text4.Text Proventas.password7.Text = login.Text5.Text frmSplash.Show Unload Me Exit Sub Ver: MsgBox "N de error: " & Err.Number & " | " & Err.Description, vbCritical, "Control de errores" Err.clear End If End sub Para este caso se accede a la base de datos mediante la ip, es decir que esta aplicacion es funcional con cualquier servidor, por si se requiere cambiar la aplicacion a otra pc, o cambair contrasea de la base de datos no afectaria para nada la interfaz y no seria necesario recompilar la interfaz, solo seria necesario reconfigurar el driver odbc. Para acceder directo a la base de datos, sin que se tenga que escribir contraseas, puerto, servidor etc. Private Sub Form_Load() Dim sql As String sql = "select * from articulos" With ADO .ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=182.181.180.182;Port=3306;Database=proventas;User=root; Password=xxxxx;Option=3;" .RecordSource = sql .Refresh Set DataGrid1.DataSource = ADO DataGrid1.Columns(0).Width = 0 -

End With End sub De esta manera no es necesario poner pasword, puerto etc..

Conexion mysq y vb6 Adrian_fisa@hotmail.com

7.- Acceso a datos, con el siguiente codigo aceso a lso datos y los visualizo en el datagrid, para este caso utilizo ADODC1, para este caso le puse como nombre ADO.

Private Sub Form_Load() Dim sql As String sql = "select * from articulos" With ADO .ConnectionString = "Driver={MySQL ODBC 3.51 Driver};" & _ "Server=" & Proventas.Server1.Text & ";" & _ "Port=" & Proventas.port1.Text & ";" & _ "Database=" & Proventas.basedatos.Text & ";" & _ "User=" & Proventas.usuario1.Text & ";" & _ "Password=" & Proventas.password7.Text & ";" & _ "Option=3;" .RecordSource = sql .Refresh Set DataGrid1.DataSource = ADO DataGrid1.Columns(0).Width = 0

End With 8.- Si se quisiera alamcenar datos en otro servidor, dentro de esta misma ventana, solo basta agregar un boton, y crear la conexion mediante el odbc. Dentro del boton solo ponemos el siguente codigo.. Private Sub Adrian_Click() Dim sql As String sql = "select * from articulos" With ADO .ConnectionString = "Driver={MySQL ODBC 3.51 Driver};Server=182.181.180.109;Port=3306;Database=proventas;User=root; Password=xxxxxx;Option=3;" .RecordSource = sql .Refresh Set DataGrid1.DataSource = ADO DataGrid1.Columns(0).Width = 0

Conexion mysq y vb6 Adrian_fisa@hotmail.com

End With End Sub En automatico nos conectaremos al servidor deseado y listo para almacenar datos, si en su caso quisieramos regresar a nuertro servidor, colocamos el mismo codigo en otro boton, solo cambiamos nuestra direccion ip, contrasea, puerto, pasword. De esta manera podemos utilizar el formulario para guardar registros en una base de datos alojada en nuestar pc, como agregar registros a una base de datos alojada en un equipo diferente. 9.- Como guardar Registros? Private Sub Guardar_Click() If Me.Text1codigo.Text = "" Then MsgBox "Los campos no deven estar vacios!!" Me.Text1codigo.SetFocus Exit Sub End If If Me.Text2Nombre.Text = "" Then MsgBox "Los campos no deven estar vacios!!" Me.Text2Nombre.SetFocus Exit Sub End If If Me.Text3Descrip.Text = "" Then MsgBox "Los campos no deven estar vacios!!" Me.Text3Descrip.SetFocus Exit Sub End If If Me.Text5Precio.Text = "" Then MsgBox "Los campos no deven estar vacios!!" Me.Text5Precio.SetFocus Exit Sub End If With ADO .CommandType = adCmdText .Recordset.AddNew .Recordset.Fields(0) = Me.Text1codigo.Text .Recordset.Fields(1) = Me.Text2Nombre.Text .Recordset.Fields(2) = Me.Text3Descrip.Text .Recordset.Fields(3) = Me.Text4Fecha .Recordset.Fields(4) = Me.Text5Precio.Text .Recordset.Update .Refresh DataGrid1.Refresh DataGrid1.Columns(0).Width = 0 MsgBox "Informacion Guardada!" Call clear Esto es para limpira los texbox.... text1.codigo.text= Etc.... End With End sub

Conexion mysq y vb6 Adrian_fisa@hotmail.com

10.- A su vez Podemos consultar si la informacion fue agregada

Codigo para la busqueda... Private Sub TextBuscar_Change() Dim sql As String sql = "Select * From articulos where codigo_articulos like '" & TextBuscar.Text & "%'" With ADO .RecordSource = sql .Refresh Set DataGrid1.DataSource = ADO DataGrid1.Columns(0).Width = 0 End With End Sub

Conexion mysq y vb6 Adrian_fisa@hotmail.com

Como se podran dar cuenta tambiem podemos eliminar, modificar etc....

Conexion mysq y vb6 Adrian_fisa@hotmail.com