Ver Mensaje Individual
  #4  
Antiguo 17-10-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Paso a paso:
Primero que nada coloco un archivo como muestra, decargalo y lo abres con dobleclick.
Vas a ver dentro esto:
Cita:
[BD]
Path="C:\MiBD\Database.MDB"
[Logon]
Auto="No"
Login=""
Pass=""
Como puedes ver el path va a ser la direccion donde colocaras la base de datos, en este caso estaria en C y en la carpeta mibd.
Para cambiarla simplemente colocas la nueva direccion y guardas el archivo.
Ahora vamos a leer el archivo desde delphi:
Dale doble click al ADOConnetion.
Esto te creara el evento OnCreate, coloca esto ahi:
Código Delphi [-]
procedure TDataModule1.DataModuleCreate(Sender: TObject);
Var BaseDeDatos, ConStr : String;
    IniFile: TIniFile;
begin
   // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'DatosBD.ini');
   BasedeDatos := IniFile.ReadString('BD','Path','');
   If BasedeDatos = '' then ShowMessage('Error al cargar Base de Datos');
   ConStr := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
             'Data Source='+BaseDeDatos+';'+
             'Persist Security Info=False;'+
             'Jet OLEDB: Database Password=admin';
   ADOConnection1.ConnectionString := ConStr;
   ADOConnection1.Open;
end;
Para que funcione el archivo ini coloca en el uses del datamodule estos:
Código Delphi [-]
uses
  SysUtils, Classes, DB, ADODB, IniFiles, Forms, Dialogs;
Como veras al iniciar el programa cuando se inicia el adoconnection busca el archivo ini que se llama datosbd, ahi busca los datos que estan incluidos en el path y completa la ruta de la bd.
Si cambias la bd a donde sea, con solo cambiar la ruta del path en el ini buscara la bd ahi.
El archivo ini TIENE que estar en la misma carpeta del exe del programa, la base de datos puede estar donde quieras.
Listo, sencillo y facil.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 22-10-2010 a las 22:46:03.
Responder Con Cita