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

Error en tiempo de ejecucion

Estas en el tema de Error en tiempo de ejecucion en el foro de Visual Basic clásico en Foros del Web. Hola a todos mi cuestion es la siguiente: Estoy trabajando con un DataEnvironment y en el Tengo un Command de tipo Connexion y a ese ...
  #1 (permalink)  
Antiguo 31/07/2007, 15:22
Avatar de juanutcm
Usuario no validado
 
Fecha de Ingreso: marzo-2005
Mensajes: 194
Antigüedad: 19 años, 1 mes
Puntos: 0
Pregunta Error en tiempo de ejecucion

Hola a todos mi cuestion es la siguiente:

Estoy trabajando con un DataEnvironment y en el Tengo un Command de tipo Connexion y a ese comando de conexion le asigno una cadena de conexion en su propiedad ConnectionString en tiempo de ejecucion, todo funciona bien la primera vez pero la segunda sin salir de la aplicacion le asigno de nuevo el la cadena de conexion a la propiedad de ConnectionString no me marca error si no hasta que intento ejecutar una consulta almacenada en el DataEnvironment marcandome el siguiente error:

Error '3709' en tiempo de ejecucion:
No se puede utilizar la conexion para realizar esta operacion.Esta cerrado o no es valida en este contexto

Este es el codigo y en rojo esta donde me manda el error:
Código:
 
'Inicializar el DataEnvironment
        If dteControlEscolar.cnnControlEscolar.State = adStateOpen Then 'Validar el estado de la conexion
            dteControlEscolar.cnnControlEscolar.Close  'Cerrar conexion para posterior uso
        End If 'Fin de validar el estado de la conexion
        dteControlEscolar.cnnControlEscolar.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strRutaConexion & ";Persist Security Info=False" 'Inicializar la propiedad del control con los datos necesarios para la redireccion de la base de datos
        dteControlEscolar.cnnControlEscolar.Open 'Aplicar a la propiedad del control la nueva direccion de la base de datos
'Fin de inicializar el DataEnvironment
 
        dteControlEscolar.Commands.Item("qryAgregarRutaImagenesRedireccionamiento").Parameters.Item("RutaImagenes").Value = txtRutaImagenes.Text 'Asignar a la variable la ruta donde se encuentra la carpeta de las imagenes
        dteControlEscolar.Commands.Item("qryAgregarRutaImagenesRedireccionamiento").Parameters.Item("RutaBaseDatos").Value = txtRutaBaseDatos.Text 'Asignar a la variable la ruta donde se encuentra la base de datos
        dteControlEscolar.rsqryAgregarRutaImagenesRedireccionamiento.Open 'Abrir el recordset para guardar la ruta de las imagenes
Por favor necesito ayuda me urge poquito y no se que hacer...

Desde ahora muchas gracias por sus aportaciones...
  #2 (permalink)  
Antiguo 31/07/2007, 17:35
Avatar de juanutcm
Usuario no validado
 
Fecha de Ingreso: marzo-2005
Mensajes: 194
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Error en tiempo de ejecucion

Bien buscando y buscando consegui encontrar una solucion que varias personas y en varios lugares hacen lo mismo ahora pongo el codigo con la linea agregada:

Código:
 
 On Error Resume Next
'Inicializar el DataEnvironment
        If dteControlEscolar.cnnControlEscolar.State = adStateOpen Then 'Validar el estado de la conexion
            dteControlEscolar.cnnControlEscolar.Close  'Cerrar conexion para posterior uso
        End If 'Fin de validar el estado de la conexion
        dteControlEscolar.cnnControlEscolar.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strRutaConexion & ";Persist Security Info=False" 'Inicializar la propiedad del control con los datos necesarios para la redireccion de la base de datos
        dteControlEscolar.cnnControlEscolar.Open 'Aplicar a la propiedad del control la nueva direccion de la base de datos
'Fin de inicializar el DataEnvironment
 
        dteControlEscolar.Commands.Item("qryAgregarRutaImagenesRedireccionamiento").Parameters.Item("RutaImagenes").Value = txtRutaImagenes.Text 'Asignar a la variable la ruta donde se encuentra la carpeta de las imagenes
        dteControlEscolar.Commands.Item("qryAgregarRutaImagenesRedireccionamiento").Parameters.Item("RutaBaseDatos").Value = txtRutaBaseDatos.Text 'Asignar a la variable la ruta donde se encuentra la base de datos
        dteControlEscolar.rsqryAgregarRutaImagenesRedireccionamiento.Open 'Abrir el recordset para guardar la ruta de las imagenes
Simplemente lo que hace es brincar la linea donde marca el error y listo.

Ello es debido a que se ha utilizado el método Open del objeto Recordset, para ejecutar una consulta SQL que no devuelve un conjunto de registros, motivo por el cual se obtendrá dicho error, por lo que sería aconsejable omitirlo activando una rutina de control de errores antes de llamar al método Open
  #3 (permalink)  
Antiguo 02/08/2007, 02:17
 
Fecha de Ingreso: abril-2007
Mensajes: 187
Antigüedad: 17 años
Puntos: 1
Re: Error en tiempo de ejecucion

El método no es que sea políticamente correcto, pero funciona.


Un saludo.
  #4 (permalink)  
Antiguo 02/08/2007, 07:36
Avatar de juanutcm
Usuario no validado
 
Fecha de Ingreso: marzo-2005
Mensajes: 194
Antigüedad: 19 años, 1 mes
Puntos: 0
Re: Error en tiempo de ejecucion

Hola amigos como estan malas noticias esa instruccion no funciono como esperaba por que ahora cada vez que intento abrir una consulta guardada en el dataenvironment me truena y ahora estoy preguntando una posible solucion?.... ojala puedan darme un poco de ayuda es muy necesaria para mi ahora...
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 18:50.