Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-01-2007
4-0 4-0 is offline
Registrado
 
Registrado: jun 2006
Posts: 8
Poder: 0
4-0 Va por buen camino
Enlazar con base de datos este donde este

En primer lugar un saludo a toda la gente del foro.

He realizado un proyecto con builder en el que uso una base de datos y funciona perfecto.Enlazo con la base de datos a traves de un TADOTable.

El problema es que si la base de datos de Access se encuentra en una carpeta distinta a la que yo he fijado en la propiedad "ConnectionString" del componente ADO;no funciona.Algo evidente.

Mi pregunta es:¿como puedo enlazar el componente TADOTable con la base de datos Access independientemente del directorio en la que se encuentre?.

Muchas gracias y un saludo a todos.
Responder Con Cita
  #2  
Antiguo 11-01-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Hola, bienvenido al Clubdelphi.

Respecto a tú duda, no lo acabo de entender. La base de datos debe estar en un sitio fijo, no la vas a estar moviendo constántemente, no?
Lo que puedes hacer es guardar la ruta de la base de datos en un fichero de configuración, para ello puedes usar ficheros .INI, si buscas en el foro y en la ayuda de Builder encontrarás mucha info al respecto.
Pero eso de coger la BD esté donde esté, me suena a arriesgado, ya que lo único que se me ocurre, es usar una función de búsqueda de ficheros (sabiendo obviamente el nombre del fichero .mdb de tú base de datos) y que busque en el PC, cuando la encuentre obtendrás la ruta y se la pasas al ConnectionString.
Pero digo arriesgado, porque puede que en mismo pc donde esté la BD, tengas muchas copias de esa BD a modo de backup o versiones antiguas, con lo cual podría inducir a que cogieras el fichero que no toca.

Espero te sirva.

Saludos
Responder Con Cita
  #3  
Antiguo 12-01-2007
4-0 4-0 is offline
Registrado
 
Registrado: jun 2006
Posts: 8
Poder: 0
4-0 Va por buen camino
Ante todo muchas gracias por tu ayuda Bicho.

La pregunta la hacia,porque en mi proyecto haria un instalador para darselo a mi tutor de proyecto o a la gente que le interese,por lo tanto ellos pueden instalar el programa y el fichero .mdb donde quieran,en consecuencia se cambia el lugar en donde este el fichero .mdb;dependiendo de cada usuario.

En ese caso deberia de localizar la carpeta donde este el archivo y asignarselo a la propiedad "ConnectionString".

Muchas gracias de nuevo.
Responder Con Cita
  #4  
Antiguo 12-01-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Poder: 22
Bicho Va por buen camino
Pues si desde el instalador das opción a elegir donde guardar la BD, esa ruta la puedes guardar en algún fichero, entiendo, ¿no? Luego recuperas esa info en Delphi abriendo el fichero y usando esa ruta como ConectionString.
No se que programa usas como instalador, pero creo que el InnoSetup te permite guardar esa info en algún fichero, como te comenté antes, de tipo INI.

Espero te sirva.

Saludos
Responder Con Cita
  #5  
Antiguo 12-01-2007
Avatar de Gelmin
Gelmin Gelmin is offline
Miembro
 
Registrado: may 2003
Ubicación: Chinandega-Nicaragua
Posts: 56
Poder: 21
Gelmin Va por buen camino
Utiliza archivos .udl u obtene la direccion de tu .exe

Bueno amigo las indicaciones q te han dado son correctas, pero hay otras formas tambien, por ejemplo yo uso archivos de enlace como son los *.udl que son sencillos de utilizar y de crear y la otra forma mas facil es poner la base de datos en el mismo lugar que tu aplicacion y luego en el codigo hay una funcion para obtener la ruta de tu ejecutable que creo que se llama (ExtractFileDir o extractFilePath) y se la pasas a tu Conectionstring indicando que ahi esta tambien la bd asi en cualquier lugar q pongas tu app con tu BD juntos siempre la encontrara. Espero te sirva de algo Gel (Nicaragua)
__________________
Powered by Gel
Responder Con Cita
  #6  
Antiguo 12-01-2007
4-0 4-0 is offline
Registrado
 
Registrado: jun 2006
Posts: 8
Poder: 0
4-0 Va por buen camino
Muchas gracais a los dos.Ahora toca probar a ver cual me sale mejor.

Un saludo people.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Parte de un RichEdit a otro RichEdit (donde esté el cursor) Tomy Varios 3 21-12-2005 21:08:15
Limitar la carpeta donde crear la base de datos fcios Firebird e Interbase 0 01-11-2005 06:03:22
Donde esta este componente ? Markos1970 OOP 5 14-07-2005 21:56:30
escribir un texto justo donde esté el cursos en un memo soyhugo Varios 1 27-02-2004 16:10:50


La franja horaria es GMT +2. Ahora son las 15:26:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi