Estoy realizando un programa en Visual Basic con MySQL y tengo problemas para agregar.

Tengo una duda en un pequeño programa que estoy realizando el VB 6.0 con mysql, al momento de agregar un registro me manda un error que dice:
"error '3709' en tiempo de ejecución
No se puede utilizar la conexión para realizar esta operación para. Esta cerrada o no es valida en este contexto"

Tengo un botón que es para conectar y tiene el sig. Código:
 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

y en el boton de agregar tengo el sig codigo
Set RecSQL = New ADODB.RecordSet
RecSQL.CursorType = adOpenKeyset
RecSQL.LockType = adLockOptimistic
RecSQL.Source = uno
RecSQL. Open "INSERT INTO uno (nombre, numero_control, direccion, dinero) VALUES (amin, 04303013, pipila, 150)"
Set RecSQL = Nothing

El error lo marca en la linea: "RecSQL.Open"INSERT INTO uno..."

1 respuesta

Respuesta
1
El problema es que no tienes una conexión abierta al momento de hacer el INSERT
En algún momento tienes que asociar el objeto DB, que es la conexión con el objeto recSQL que es el recordset.
Hola disculpa por tardar en reponer pero no había podido ingresar a la página
Disculpa la novatada pero soy principiante en la programación y la verdad no entendí lo de asociar el DB (creo que es BD) con el RecSQL, en el código se me paso poner esta declaración:
"Public BD As ADODB.Connection
Public RecSQL As ADODB.Recordset"

Gracias y espero me respondas
Saludos
RecSQL. OPEN("...") le falta el parámetro en donde le INDICAS que la CONEXIÓN a la base de datos, BD por eso te da el error.
Hola de nuevo
(Pregunto) no se supone que eso se lo indico en el primero botón donde dice:
Set BD = New ADODB.Connection
BD.ConnectionString = "driver={MySQL ODBC 3.51 Driver};" & _
...
(AQUI indica la base de datos)---->>>> "Database=" & Text3 & ";" & _
...
(Y AQUI abre la conexion nop?)---->>>> BD.Open
...
MsgBox "Conexión establecida!!!", vbExclamation, "Conexión"
Exit Sub
Disculpa pero creo que allí se abre la conexión y se indica la base de datos a la que hace referencia
gracias
mmmmmmmmmmmmm
Ahora tengo este error en tiempo de ejecución:
"El controlador ODBC no admite la propiedades solicitadas"
Esto es al momento de agregar un registro
Estas confundido:
1. Una cosa es ABRIR la conexión
2. Otra muy distinta es decirle al recordset que vas a utilizar CUAL de las conexiones abiertas vas a utilizar, pro eso te vuelvo a decir, en la sentencia de recordset. OPEN debes especificar que la conexión a utilizar es la que abriste en el botón de arriba.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas