Visual Basic.NET - Conexión a base de datos en una aplicación

 
Vista:

Conexión a base de datos en una aplicación

Publicado por norberto (1 intervención) el 11/04/2007 07:56:26
Hola, quisiera saber si alguien puede ayudarme, hice una aplicación en VB.Net que tiene una conexión a una base de datos, pero cuando la instalo desde el instalador que hice, la base de datos que se modifica es la de los archivos fuente y no la que se instala despues de correr el instalador, es decir si instalo la aplicacion en una maquina que no sea la original no encuentra la base de datos para gestionarla.Como puedo solucionar este problema, desde ya muchas gracias. (El string de conexión que tiene la base de datos es la ruta donde esta la base de datos original)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Conexión a base de datos en una aplicación

Publicado por haver (196 intervenciones) el 11/04/2007 16:17:03
Tienes que hacer alguna opcion de redireccionamiento de la base ( para que el usuario la localize ) yo lo hice con el registro de windows...ahi coloco la ruta y si no se encuentra tiene un boton que redirecciona la base de datos y luego guarda la direccion en el registro...te dejo un ejemplo...creo que es lo que buscas

Sub ruta_data()
Dim dlgFile = New OpenFileDialog
dlgFile.Filter = "data (*.mdb)|*.mdb"
dlgFile.Title = "Seleccione la base de datos"
'Si el diálogo devuelve OK
If dlgFile.ShowDialog() = DialogResult.OK Then
'Nombre del archivo elegido, con su ruta completa,
'equivale a la base de datos
ruta = dlgFile.FileName
End If
Dim regversion As RegistryKey
regversion = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\SrepCheq\\ruta", True)
If regversion Is Nothing Then
'No existe la clave crearla
regversion = Registry.CurrentUser.CreateSubKey("Software\\Microsoft\\SrepCheq\\ruta")
regversion.SetValue("ruta", ruta)
Else
regversion.SetValue("ruta", ruta)
End If
MsgBox("Redireccionamiento Completado", MsgBoxStyle.Information, "REPORTE DE CHEQUES")
End Sub

y este lee la ruta

Sub lee_ruta()
Dim regruta As RegistryKey
Dim keyvalue As String

'busco la data
keyvalue = "Software\\microsoft\\SrepCheq\\ruta"
regruta = Registry.CurrentUser.OpenSubKey(keyvalue, False)

If (Not regruta Is Nothing) Then
ruta = regruta.GetValue("ruta", 0)
regruta.Close()
Else
MsgBox("No existe ninguna data cargada" & Chr(13) & "Por Favor, seleccione la data a utilizar en el reporte", MsgBoxStyle.Critical, "REPORTE DE CHEQUES")
Call ruta_data()
End If

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar