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

MySQL y VB 6.0

Estas en el tema de MySQL y VB 6.0 en el foro de Visual Basic clásico en Foros del Web. Hola! No sé sí ya han puesto información sobre lo que estoy pidiendo. Si así fuera, pido mil disculpas pero anduve dando vueltas y mucho ...
  #1 (permalink)  
Antiguo 25/05/2009, 00:50
 
Fecha de Ingreso: febrero-2009
Ubicación: Republica de Santa Fe
Mensajes: 99
Antigüedad: 15 años, 2 meses
Puntos: 1
MySQL y VB 6.0

Hola!
No sé sí ya han puesto información sobre lo que estoy pidiendo. Si así fuera, pido mil disculpas pero anduve dando vueltas y mucho no encontré.

Quiero hacer una conexion con VB 6 a una base de datos MySQL y ver como hacer para ir ingresando datos en la misma. Porque el tema es que necesito hacer un sistema donde se ingresan datos, y esos datos (que por lo general son tipo formularios clasicos de registro donde hay que poner datos personales, etc etc.) van a una base de datos. ¿Me explico?. Yo sé que el comando para agregar los datos es INSERT INTO, de hecho hace ya muchisimo tiempo hice un trabajo así pero ya no recuerdo nada.

Necesitaría una pequeña ayuda, y sí puede ser así... muchas gracias por tomarse el tiempo.



Nos vemos.
  #2 (permalink)  
Antiguo 25/05/2009, 10:18
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: MySQL y VB 6.0

Hay miles de manuales por internet explicando este tema, pero bueno te pongo esto para que puedas empezar.

Insertas un command button en el form y copia este código

Código:
Dim Conexion As ADODB.Connection
Dim Rst As ADODB.Recordset
Option Explicit

Private Sub Command1_Click()
'Realizar consultas
Rst.Open "SELECT * FROM clientes"
MsgBox "Existen " & Rst.RecordCount & " clientes"

'Insertar en la tabla clientes
Conexion.Execute "INSERT INTO clientes SET nombre='pepe', apellidos='Perez', edad='31'"

'Modificar un registro
Conexion.Execute "UPDATE FROM clientes SET nombre='jose' WHERE id = ?" '<-- El id que corresponda, cuidado que si no lo pones, modificar toda la tabla

'Eliminar un registro
Conexion.Execute "DELETE FROM clientes WHERE id=?" '<-- El id que corresponda, cuidado que si no lo pones, elimina la tabla al completo
End Sub

Private Sub Form_Load()
Set Conexion = New ADODB.Connection
Set Rst = New ADODB.Recordset

'Sustituye servidor,user,password,bd con lo que tu tienes
Conexion.ConnectionString = "driver={MySQL ODBC 3.51 Driver};server=SERVIDOR;uid=USER;pwd=PASSWORD;database=BD;"
Conexion.Open

Rst.ActiveConnection = Conexion
Rst.CursorLocation = adUseClient
Rst.CursorType = adOpenDynamic
Rst.LockType = adLockBatchOptimistic

End Sub

Lo mas aconsejable es insertar las declaraciones en un modulo para que se pueda ejecutar desde cualquier parte de tu aplicación, cambiando el Dim por Public

Espero que te sirva.
Saludos.
  #3 (permalink)  
Antiguo 25/05/2009, 16:41
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: MySQL y VB 6.0

Hola, es todo igual, lo unico que cambia es la cadena de conexion , pero despues para agregar, borrar y actualizar es lo mismo que como si lo harias con Access..por ejemplo...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #4 (permalink)  
Antiguo 28/05/2009, 17:31
 
Fecha de Ingreso: febrero-2009
Ubicación: Republica de Santa Fe
Mensajes: 99
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: MySQL y VB 6.0

Muchas gracias muchachada por los datos y los aportes. Como siempre, unos fenomenos.

Visca el Barça!
  #5 (permalink)  
Antiguo 29/05/2009, 01:21
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: MySQL y VB 6.0

Cita:
Iniciado por gogupe Ver Mensaje
'Insertar en la tabla clientes
Conexion.Execute "INSERT INTO clientes SET nombre='pepe', apellidos='Perez', edad='31'"

Saludos.
Bueno, en la consulta de datos añadidos daría error de sintaxis. Debería ser así:

Conexion.Execute "INSERT INTO clientes(nombre, apellidos, edad) VALUES('pepe', 'Perez', '31')"

  #6 (permalink)  
Antiguo 29/05/2009, 14:55
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: MySQL y VB 6.0

Cita:
Iniciado por Avellaneda Ver Mensaje
Bueno, en la consulta de datos añadidos daría error de sintaxis. Debería ser así:

Conexion.Execute "INSERT INTO clientes(nombre, apellidos, edad) VALUES('pepe', 'Perez', '31')"

Te equivocas esa es otra sintaxis que funciona bien, ademas yo siempre la hago asi y me funciona siempre, incluso cuando hago algo en PHP, en Mysql administrator, etc

Solo es una anotación.

Saludos
  #7 (permalink)  
Antiguo 30/05/2009, 03:18
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: MySQL y VB 6.0

Cita:
Iniciado por gogupe Ver Mensaje
Te equivocas esa es otra sintaxis que funciona bien, ademas yo siempre la hago asi y me funciona siempre, incluso cuando hago algo en PHP, en Mysql administrator, etc

Solo es una anotación.

Saludos
Bueno, me refería a la respuesta de seba123neo (aunque hice referencia a tu ejemplo). Esa sintaxis en Access no funciona.
En MySQL se pueden utilizar ambas. Precisamente esa es la sintaxis alternativa, digamos que la oficial o por defecto es la nativa de SQL, aunque se pueden utilizar cualquiera de las dos sentencias.

INSERT INTO Tabla (Campos) VALUES (....

  #8 (permalink)  
Antiguo 30/05/2009, 03:49
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 6 meses
Puntos: 32
Respuesta: MySQL y VB 6.0

Ah mira, eso no lo sabía, como siempre uso MySql... otra cosa nueva.

Saludos.
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:17.