Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Detectar Path base de datos access (https://www.clubdelphi.com/foros/showthread.php?t=49020)

m.ruiz 10-10-2007 20:08:11

Detectar Path base de datos access
 
Hola a todos, buenas tardes:
Como siempre recurro a vuestros consejos que en muchas otras veces me han ayudado. Ahora estoy atrancada en algo muy simple pero que no consigo sacar. Os comento:

TEngo una aplicación en delphi que utiliza una base de datos access. Utilizo el componente ADOConnection. Se que tiene una propiedad donde se indica la ruta de la base de datos.

Se que la propiedad ConnectionString saca todas las propiedades de la conexión a la base de datos, pero yo lo que necesito realmente es sacar el data source. Os pongo un ejemplo, si tengo la base de datos en la siguiente ruta: c:\Montajes\Montajes.mdb quiero que aparezca una label con ese captión y que no me aparezca toda la ristra de datos de la propiedad ConnectionString.

Es una chorrada, pero es que no encuentro como hacerlo.
Muchisimas gracias por vuestra atención.
un saludo!!!:D:D

FGarcia 10-10-2007 21:38:29

mmmm hola!

No recuerdo bien pero me parece que vi ese tip en los trucos de delphi.about.com aunque no le hize mucho caso, se me quedo grabada la idea. Una busqueda por ahi no estaria de mas.

P.D. Prueba.

casacham 11-10-2007 01:09:23

Simplificando el tema
 
Hola m.ruiz (maria ruiz?). Lo tuyo parece ser mas sencillo de lo que suena. Como sabemos, uno nunca sabe donde va a caer la aplicacion y su archivo de base de datos cuando sea distribuida e instalada en otras maquinas. Es por ello que utilizo el evento AfterConnect del objeto TADOConnection para configurar la ConnectionString.
En el evento coloco el siguiente codigo:

Código Delphi [-]
 
 
procedure TDM_Dat.ADOConnection1BeforeConnect(Sender: TObject);
begin
ADOConnection1.ConnectionString:=
'Provider=Microsoft.Jet.OLEDB.4.0;' +
'User ID=Admin;' +
'Data Source='+ExtractFilePath(Application.ExeName)+'HACbaWKSDat.mdb;' +
'Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";Jet OLEDB:Database Password="drJH26897943";'+
'Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don'+''''+'t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False';
end;

Podras ver que en la linea que dice

'Data Source='+ExtractFilePath(Application.ExeName)+'HACbaWKSDat.mdb;'
se encuentra la respuesta a tu pregunta. Espero que te haya sido util la informacion

m.ruiz 11-10-2007 09:02:16

Hola casacham:
Ves? Si yo sabía que tenía que ser una sentencia muy simple, pero no sabía como sacarla. Esto es exactamente lo que necesitaba.Muchas gracias por tu ayuda.

P.D: Por cierto, me llamo Mónica Ruiz.
Un saludo!!!:D:D:D


La franja horaria es GMT +2. Ahora son las 16:56:38.

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