Foros del Web » Programación para mayores de 30 ;) » .NET »

¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Estas en el tema de ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión? en el foro de .NET en Foros del Web. Hola! Ya estoy aqui otra vez, con una pregunta que guarda relación con la que hice ayer. Para quien no sepa de lo que hablo, ...
  #1 (permalink)  
Antiguo 10/02/2010, 16:02
 
Fecha de Ingreso: diciembre-2007
Mensajes: 20
Antigüedad: 16 años, 4 meses
Puntos: 0
¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Hola! Ya estoy aqui otra vez, con una pregunta que guarda relación con la que hice ayer.

Para quien no sepa de lo que hablo, ayer preguntaba como podia copiar un archivo con una ruta relativa desde el codigo, mirar unos post mas abajo, y ya he conseguido que el usuario seleccione la foto que quiere y el programa la guarde donde a mi me interesa.

Pero esto ahora me genera un problema, y es que, al cargar OpenFileDialog, no se por qué, el programa pierde la cadena de conexión con la base de datos y la asocia a la ventana del explorador de archivos que se abre con él, en este caso "C:\Documents and Settings\Administrador\Mis documentos\Mis imagenes" y cuando quiero seguir trabajando y utilizar mi conexión habitual, el programa produce un error porque no encuentra la base de datos en la dirección "C:\Documents and Settings\Administrador\Mis documentos\Mis imágenes\Control de gastos.mdb", y es que no está ahí claro.

¿No hay alguna forma de que el programa recupere la conexión anterior con la BD?

¿Sabeis a que puede deberse esto?

Espero vuestra ayuda, porque sino, no puedo seguir programando nada.

Gracias.
  #2 (permalink)  
Antiguo 10/02/2010, 16:52
 
Fecha de Ingreso: julio-2009
Mensajes: 103
Antigüedad: 14 años, 10 meses
Puntos: 2
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Lo que puedes hacer es almacenar en una variable la ruta de la base de datos, que siempre va a ser la misma, y cada vez que vayas a acceder a ella, usa esa variable
  #3 (permalink)  
Antiguo 10/02/2010, 18:23
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Cita:
¿No hay alguna forma de que el programa recupere la conexión anterior con la BD?
Lo que te conviene hacer es que la ruta a la base no dependa de ningún control.
Usa, por ejemplo, un archivo encriptado local de tu aplicación, o bien crea una clave en el Registry de Widows donde la aplicación pueda buscarlo.
Hacer depender la dirección de búsqueda de una propiedad de un componente que puede cambiar, no es funcional.

En todo caso, tomando parte de la idea de tempto, crea una variable Friend en al módulo donde almacenes el valor leído, y pueda ser accesible en tod ala aplicación.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 10/02/2010, 19:28
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Pero por qué cambia la cadena de conexión? Quizá estás usando la misma variable para ambas rutas.

Si pones el código que usas se te podrá ayudar mejor, no se ve muy complicado lo que intentas hacer.

Saludos
__________________
Eduardo Peredo
Wigoin
  #5 (permalink)  
Antiguo 10/02/2010, 23:45
 
Fecha de Ingreso: diciembre-2007
Mensajes: 20
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Donde me cambia la cadena de conexión es en este trozo de código, aunque no entiendo por qué. Es un código sacado de la ayuda del programa y sirve para que el usuario pueda seleccionar una imagen en un OpenFileDialog (una ventana del explorador de archivos), para añadirla a un picture box, que mas tarde utilizo con otros datos.

Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk
Dim file, files() As String

files = OpenFileDialog1.FileNames

'Abre cada archivo y muestra la imagen en el PictureBox
For Each file In files
Dim fileInfo As FileInfo = New FileInfo(file)
Dim fileStream As FileStream = fileInfo.OpenRead()

Me.lblinsertarimagen.Visible = False
Me.pbnuevousuario.Visible = True
Me.pbnuevousuario.Image = Image.FromStream(fileStream)

rutaimagen = file
nombrearchivoimagen = "Imagenes\" & fileInfo.Name
fileStream.Close()
Next
End Sub


Aqui es donde debe estar el problema, porque cuando salta el error de conexión a la base de datos es después de utilizar este explorador de archivos, y salta porque la conexión me está intentando buscar la BD en la dirección en la que se abre el OpenFileDialog "Mis documentos\Mis imagenes"...
  #6 (permalink)  
Antiguo 11/02/2010, 00:02
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

El proceso no da problemas verdad? O sea salvo lo de la cadena de conexion(CC).

Pero como está configurada tu CC? Vas a darle una ruta en especial o tan sólo la vas a distribuir con tu aplicación?

Supongo que tu CC debe estar así nada más, a menos como ya mencioné que quieras darle un ruta en especial.
Código c#:
Ver original
  1. Provider=Microsoft.Jet.OleDb.4.0;Data Source=Control de gastos.mdb

Saludos.
__________________
Eduardo Peredo
Wigoin
  #7 (permalink)  
Antiguo 11/02/2010, 14:59
 
Fecha de Ingreso: diciembre-2007
Mensajes: 20
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Si la cadena de conexión es esa, y la tengo declarada en un modulo principal, para que me resulte accesible en todo el proyecto, solo con llamar a la variable cuando accedo a ella con un OleDbCommand, pero no entiendo por qué la cambia.
  #8 (permalink)  
Antiguo 11/02/2010, 15:17
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

Revisa si no estás usando esa variable en alguna parte para ora cosa (en todo caso esa variable debería ser una constante para evitar problemas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #9 (permalink)  
Antiguo 11/02/2010, 15:26
 
Fecha de Ingreso: diciembre-2007
Mensajes: 20
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: ¿Por qué 'OpenFileDialog' me cambia la cadena de conexión?

¿Podrias explicarme como hacer un archivo encriptado con la cadena de conexión?
Me gustaría aprender a trabajar de esa manera

¿Luego simplemente sería copiar el archivo en la misma carpeta que el programa para utilizarlo en otros ordenadores no?


Muchas gracias por tomaros tantas molestias con mi post.

Etiquetas: openfiledialog, cambios, cadenas
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 10:09.