Ver Mensaje Individual
  #26  
Antiguo 25-07-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
Hola
Como hay una pregunta del amigo tenporal con relacion a donde colocar la Base de datos y el Programa, he querido dar la opción de hacerlo con un archivo .ini como lo indique antes, me parece practico, asi que va.
Para empezar hay que hacer un archivo ini, Abrimos el block de notas y se coloca esto:
Cita:
[BD]
Path="C:\Facturacion.MDB"
[Logon]
Auto="No"
Login=""
Pass=""
Se guarda en este caso con el nombre de BDatos.ini

Como ven aqui le estoy diciendo que la base de datos esta en C:\ y ya sabemos que se llama Facturacion.mdb, si queremos colocar la base de datos en otra carpeta o sub carpeta simplemente le cambiamos la direccion, ejemplo:
Cita:
[BD]
Path="C:\Programa\MiCarpeta\Facturacion.MDB"
[Logon]
Auto="No"
Login=""
Pass=""
Como ven el resto queda igual, simple verdad.
Ahora vamos a hacer que nuestro programa lea este archivo.
Hay que tener en cuenta que el archivo BDatos.ini, tendra que estar en la misma carpeta que el programa.
Ahora abrimos el programa en Delphi, abrimos el datamodule, en el evento OnCreate del datamodule, ponemos esto:
Código Delphi [-]
procedure TDataModule1.DataModuleCreate(Sender: TObject);// esta parte ya la pone Delphi
Var BaseDeDatos, ConStr : String;
    IniFile: TIniFile;
begin
   // Obtiene la ruta y el nombre de la base de datos
   IniFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'BDatos.ini');// aqui esta el nombre del archino 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;
Ahora en el uses del mismo DataModule ponemos esto:
Cita:
uses
SysUtils, Classes, DB, IniFiles, ADODB, Forms, Dialogs;
Y a funcionar, ahora cada vez que arranque el programa, buscara primero el archivo BDatos.ini, y se conectara a la base de datos, podeis poner la base de datos donde querais, siempre la encontrara, incluso en red, recordad poner el archivo ini en la misma carpeta donde este el programa.
Espero les sirva, la explicacion.
Saludos
Responder Con Cita