Visual Basic.NET - RUTA BD DESDE *.TXT

 
Vista:

RUTA BD DESDE *.TXT

Publicado por RICARDO MANCILLA GIL (23 intervenciones) el 15/11/2007 21:32:52
HOLA MUCHACH@S

TENGO UNA DUDA, HE CREADO UNA CLASE CON LA CONEXION A LA BD EN EL CONSTRUCTOR ASI:

Sub New()
ruta = "D:\SION\SION.mdb"
conexion = New OleDbConnection("Provider=Microsoft.Jet.OleDB.4.0; data source=' " &
ruta & " ' ")
conexion.Open()
End Sub

LA COSA ES LA SIGUIENTE, SI QUIERO QUE LA RUTA SE DEFINA POR MEDIO DE UN ARCHIVO *.TXT, Y QUE SE GUARDE O QUE ME ABRA ESA RUTA CUANDO LA NECESITE, ¿COMO HAGO?

HE VISTO QUE ESO SE HACE, PERO NO TENGO IDEA DE COMO, GRACIAS DE ANTEMANO POR LA AYUDA PRESTADA.
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:RUTA BD DESDE *.TXT

Publicado por QWNET (65 intervenciones) el 19/11/2007 23:34:36
Bien el mismo problema tuve en un proyecto que tenia que entregar asi que lo solucione de la siguiente manera:

En tu formulario principal el primero que llama tu EXE en el metodo LOAD hago lo siguiente:

' ExiteArchivo es una funcion que tengo en mi modulo publico
'rtdb.fch es el archivo de texto que utilizo para guardar la ruta de la base de datos
' el pongo .fch porque asi el usuario al intentar abrir le va a sacar que seleccione un programa para abrirlo si es + ó - pilas seleccionara el block de notas u otro que pueda leer archivos de texto de lo contrario le dara cancelar
'AppPath es una funcion que me devuelve la ubicacion donde esta el EXE de mi proyecto que es donde guardo el archivo de texto que contiene la cadena de conexion rtdb.fch
1---------------------------------------------------------------
If ExisteArchivo(AppPath() & "rtdb.fch") Then ' si existe el archivo devuelve true y pues no hace absolutamente nada y continua con ejecutando la aplicacion
Else
' si no existe el archivo de texto rtdb.fch entoncs llamo un formulario para que el usuario indique la ubicacion de la base de datos que puede estar en cualquier lugar de la pc
'frmconfig es el formulario donde le indica al usuario que busque en la pc la carpeta donde esta ubicada la base de datos
Dim xfrmInstalacionData As New frmConfig
xfrmInstalacionData.ShowDialog()
End If
'conexionalabasededatos es una funcion donde se lee el archivo de texto
' que contiene la cadena de conexion
conexionadb.connectionstring = conexionalabasededatos()
conexionadb.open()
' contiuar con las instrucciones en el sistema

2--------------------------- en el formulario frmConfig
si el archivo de texto ya existe entoncs muestro la ruta que esta guardada en el
load del formulario
Dim sPath As String
If ExisteArchivo(AppPath() & "rtdb.fch") Then ' verifico que exista el archivo de texto donde tengo guardada la cadena de conexion.
FileOpen(1, AppPath() & "rtdb.fch", OpenMode.Input)
Input(1, sPath)
FileClose(1)
fbd_config.SelectedPath = sPath
txtRuta.Text = Trim(sPath)
Else
Me.fbd_config.SelectedPath = "C:\"
End If
End Sub

utilizo el control FolderBrowserDialog para mostrarle al usuario las carpetas que hay en la pc e indique en cual esta la base de datos
y le paso la ubicacion seleccionada a un control textbox

tengo un control button que le llamo busqueda que al seleccionar el evento Click
fbd_config.ShowDialog() 'fdb_config se llama el control FolderBrowserDialog
txtRuta.Text = fbd_config.SelectedPath 'el txtruta.text el textbox

tengo otro control Button que le llamo grabar en el evento click
' es aqui donde creo el archivo de texto rtdb.fch y guardo la ruta
Dim sPath As String
Try
If Trim(txtRuta.Text) <> "" Then
sPath = Me.txtRuta.Text
FileOpen(1, AppPath() & "rtdb.fch", OpenMode.Output)
Print(1, sPath)
FileClose(1)
Mensaje("RUTA ACTUALIZADA CON EXITO")
Else
MensajeError("Debe de Seleccionar Ruta de Base de Datos")
txtRuta.Focus()
End If
Catch ex As Exception
MensajeError(Err.Description)
End Try
' eso es todo con respecto a los dos formularios el principal que llama el sistema y el que configura la ruta

3-------------- ahora en mi modulo global tengo las siguientes funciones
Public Function ExisteArchivo(ByVal sNombreArchivo As String) As Boolean
Try
If Trim(sNombreArchivo) = "" Then
MensajeError("Nombre de archivo no válido")
Else
ExisteArchivo = Dir(sNombreArchivo) <> ""
End If
Catch ex As Exception
MensajeError(Err.Description)
End Try
End Function

Public Function AppPath() As String
'Devuelve el path del archivo .exe
Dim sPath As String, sExe As String

sPath = System.Reflection.Assembly.GetExecutingAssembly.Location
sExe = Dir(sPath)
AppPath = Left(sPath, Len(sPath) - Len(sExe))

End Function

Public Function DBPath() As String
'Devuelve el path de la base de datos
Dim sPath As String
If ExisteArchivo(AppPath() & "rtdb.fch") Then
FileOpen(1, AppPath() & "rtdb.fch", OpenMode.Input)
Input(1, sPath)
FileClose(1)
DBPath = sPath
Else
DBPath = ""
End If
End Function

Public Function conexionalabasededatos() As String
'Base de datos a Utilizar

Dim cnnStr As String

cnnStr = "Data Source= '" & DBPath() & "\mibasededatos.mdb'; " & _
"Provider = Microsoft.jet.OleDB.4.0;"
conexionalabasededatos = cnnStr
End Function

-----------------------------------------------------------
'bueno espero que esto te sirva ..... si es asi indicalo aqui
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