Base Datos

Estoy trabajando con Delphi y quiero abrir una base de datos Access en tiempo de ejecución, quiero decir que el directorio en el que se encuentra la base no sea predefinido, que sea el usuario el que lo introduzca.

2 Respuestas

Respuesta
1
Si usas ADO puedes crear la COnnectionString de tu ADOConnection en tiempo de ejecución. Algo como:
ADOConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ edit1.text +';Persist Security Info=False';
ADOConnection1.connected:=true;
Hola de nuevo,
gracias por la respuesta. Lo que me pasa es que yo había estado intentando algo parecido y al poner lo que me has dicho me pasa lo mismo, no me lee nada de la base, no me da errores pero los datos salen en blanco. Antes de lo que me has puesto tengo que hacer ADOConnection1.Close. ¿Tienes idea que puede estar pasando? Millones de gracias!
Cheque el código donde hago esa operación y es como sigue:
ADOConn.connected:=false;
ADOConn.ConnectionString:=....
ADOCOnn.Connected:=true;
ADOTabla1.open:=true;
Así es como yo lo manejo y funciona bien. Avisame si continua el problema.
Respuesta
1
Si lo que quieres es que el usuario elija el directorio de la BD, debes de, antes de abrir la Tdatabase, especificarle el directorio en el componente Tdatabase de esta forma:
database1.close;
database1.Params.Text:='path='+quotedstr(nuevopath);
database1.open;
Te lo acabo de explicar para el caso de que utilices el BDE, si utilizas otra conexión es muy parecido.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas