Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Usar base de datos MySql

Estas en el tema de Usar base de datos MySql en el foro de Visual Basic clásico en Foros del Web. SaludosÑ Nesesito si me pueden ayudar, para saber como puedo trabajar en con una base de datos en MySql desde Visual Basic 6.0 y/o .net ...
  #1 (permalink)  
Antiguo 01/04/2007, 00:27
 
Fecha de Ingreso: septiembre-2006
Mensajes: 90
Antigüedad: 17 años, 7 meses
Puntos: 0
Mensaje Usar base de datos MySql

SaludosÑ

Nesesito si me pueden ayudar, para saber como puedo trabajar en con una base de datos en MySql desde Visual Basic 6.0 y/o .net

Gracias
  #2 (permalink)  
Antiguo 01/04/2007, 05:45
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Re: Usar base de datos MySql

Hola, te voy a poner un ejemplo de una aplicación que uso, te diré que esto siempre lo uso, quiero decir, que lo uso como standard en todas mis aplicaciones, tan solo cambio algunos parámetros.

Antes que nada, por si acaso no lo has hecho, tienes el conector mysql en la pagina dev.mysql.com/downloads/connector/j/5.0.html.
Luego busca el administrator de mysql en dev.mysql.com/downloads/gui-tools/5.0.html

El primero sirve para hacer una conexión ODBC de windows a un servidor MySQL y lo segundo para administrar la BD, crear tabla, campos, eliminar, etc, etc.

Una vez hecho esto ya está preparado para hacer el código en VB, yo uso la versión 6, aunque me imagino que en .net es lo mismo.

Tu aplicación debe tener la referencia "Microsoft ActiveX Data Objects 2.8 Library" (proyecto -> Referencia)

Lo siguiente escríbelo en modulo BAS, de esta forma te asegura de que se cargue al principio y solo una vez.

Public Conexion1 As ADODB.Connection
Public Rst As ADODB.Recordset

Set Conexion1 = New ADODB.Connection
Set Rst = New ADODB.Recordset

Conexion1.ConnectionString = "driver={MySQL ODBC 3.51 Driver};server=<mi_servidor>;uid=<mi_usuario>;pwd= <mi_clave>;database=<mi_bd>;OPTION=16427"

Conexion1.Open

'Donde:
'<mi_servidor> es el nombre del servidor, si lo tienes hecho en tu propio pc, puedes poner localhost
'<mi_usuario> nombre de usuario de mysql (lo puedes configurar con el administrator)
'<mi_clave> password de usuario
'<mi_bd> nombre de la Base de Datos
'Eliminas los <> para declarar la conexión

'Declaramos el RecordSet
Rst.ActiveConnection = Conexion1
Rst.CursorLocation = adUseClient
Rst.CursorType = adOpenDynamic
Rst.LockType = adLockBatchOptimistic

'Abrimos la tabla de la BD
'Rst.Open "SELECT clientes.* FROM clientes ORDER BY id"


Luego te puedes mover con lo registros usando solo Rst, ejemplo:
Rst.movefisrt
rst.delete
etc.

Luego para asignarle a un textbox el valor del recordset:
text1 = rst("nombre")

Para añadir un registro nuevo:

rst.open "INSERT INTO mi_tabla SET nombre ='" & text1.text & "' ,apellidos ='" & text2.text & "'"

Recuerda de encerrar la cadena de texto entre comillas simples
Si es numerico, va sin comillas

Si quieres modificar un registro:

rst.open "UPDATE mi_tabla SET nombre ='" & text1.text & "' ,apellidos ='" & text2.text & "'"


Y mas o menos esto es todo, por lo menos para empezar, yo sinceramente te aconsejo que lo uses asi, ya que es mucho mas rápido y fiable, ademas de que si te lo curras, puedes poner la aplicación que funcione por internet.

Por último para ejecutar una consulta con el comando open, antes tienes que cerrar el recordset, yo uso lo siguiente:

if rst.state=1 then rst.close 'Si está abierto (1), cierra el recordset para luego abrirlo con la consulta, modificación o inserción que yo quiera hacer.
rst.open "SELECT ..."



Si tienes alguna duda, no dudes en decirlo, aunque parezca difícil, cuando le coges el truquillo, es de lo mas simple, ya que siempre se declara de la misma forma, (por lo menos yo) y me da buenos resultados.
  #3 (permalink)  
Antiguo 05/04/2007, 08:24
Avatar de keldorn  
Fecha de Ingreso: noviembre-2001
Ubicación: Zaragoza
Mensajes: 130
Antigüedad: 22 años, 4 meses
Puntos: 0
Re: Usar base de datos MySql

¿Se podria conectar una aplicación desarrolada en visual basic, pero en este caso para pda a una base de datos mysql?
Sin que fuese a traves de wifi ni nada parecido, si no internamente en la pda.

Un saludo.
  #4 (permalink)  
Antiguo 29/04/2007, 22:03
 
Fecha de Ingreso: abril-2004
Ubicación: Cdoro. Rivadavia
Mensajes: 83
Antigüedad: 20 años
Puntos: 0
Re: Usar base de datos MySql

Que significa en la cadena de conexión:
OPTION=16427 ?????

Saludos !!!
  #5 (permalink)  
Antiguo 02/05/2007, 09:36
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Re: Usar base de datos MySql

Te recomiendo no usar redordset para insertar o eliminar y modificar, puede causarte problemas cuando ya aplicacion es algo grande, te recomiendo que lo hagas directamente desde la conexion con un insert,update,delete.

nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #6 (permalink)  
Antiguo 02/05/2007, 09:44
 
Fecha de Ingreso: abril-2007
Mensajes: 187
Antigüedad: 17 años
Puntos: 1
Re: Usar base de datos MySql

Cita:
Iniciado por GeoAvila Ver Mensaje
Te recomiendo no usar redordset para insertar o eliminar y modificar, puede causarte problemas cuando ya aplicacion es algo grande, te recomiendo que lo hagas directamente desde la conexion con un insert,update,delete.

nos vemos..
Estoy contigo
  #7 (permalink)  
Antiguo 03/05/2007, 08:27
Avatar de Korku  
Fecha de Ingreso: noviembre-2003
Ubicación: En un lugar oscuro...
Mensajes: 688
Antigüedad: 20 años, 5 meses
Puntos: 5
Re: Usar base de datos MySql

Cita:
Iniciado por keldorn Ver Mensaje
¿Se podria conectar una aplicación desarrolada en visual basic, pero en este caso para pda a una base de datos mysql?
Sin que fuese a traves de wifi ni nada parecido, si no internamente en la pda.

Un saludo.
Visual Basic .NET SI, Visual Basic 6 NO pero que yo sepa, no es posible MySQL dentro de la PDA (de forma remota SI). Alternativa: SQLite o SQL CE

Saludiños
__________________
Carpe diem quam minimum credula postero.


http://www.programador-freelance.es
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:53.