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)
-   -   coneccion en tiempo de ejecucion. (https://www.clubdelphi.com/foros/showthread.php?t=69996)

pabloloustau 23-09-2010 21:40:50

coneccion en tiempo de ejecucion.
 
aca les dejo una forma funcional probada de coneccion en tiempo de ejecucion a base de datos access con ADO.
utilizo un opendialog para buscar la base de datos, recuerden poner en su propiedad filter (Microsoft access|*.mdb).
tambien utiliza un archivo ini para cargar la ultima base de datos con la que trabajamos.

Código:


procedure TForm1.Button2Click(Sender: TObject);
begin
 if opendialog1.Execute then
 adoquery1.Active:= false;
 adoconnection1.Connected:= false;
 ADOconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
 opendialog1.filename+';Persist Security Info=False';
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var path: string;
begin
  path := ExtractFilePath(Application.ExeName) + 'Datos.ini';
  dirini := TIniFile.Create(path);
  try
    dirini.WriteString('Opendialog1','Last',opendialog1.FileName) ;
  finally
    dirini.Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
  var
  path: String;
begin
  path := ExtractFilePath(Application.ExeName) + 'Datos.ini';
  dirini := TIniFile.Create(path);
  try
  opendialog1.FileName:= dirini.ReadString('Opendialog1','Last','');
  ADOconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
  opendialog1.FileName+';Persist Security Info=False';
  finally
    dirini.Free;
  end;
end;


Caral 23-09-2010 21:48:48

Hola
Interesante concepto, gracias por el aporte.
Saludos

pabloloustau 23-09-2010 21:48:57

Cita:

Empezado por pabloloustau (Mensaje 377324)
aca les dejo una forma funcional probada de coneccion en tiempo de ejecucion a base de datos access con ADO.
utilizo un opendialog para buscar la base de datos, recuerden poner en su propiedad filter (Microsoft access|*.mdb).
tambien utiliza un archivo ini para cargar la ultima base de datos con la que trabajamos.


Código:


procedure TForm1.Button2Click(Sender: TObject);
begin
 if opendialog1.Execute then
 adoquery1.Active:= false;
 adoconnection1.Connected:= false;
 ADOconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
 opendialog1.filename+';Persist Security Info=False';
end;


procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var path: string;
begin
  path := ExtractFilePath(Application.ExeName) + 'Datos.ini';
  dirini := TIniFile.Create(path);
  try
    dirini.WriteString('Opendialog1','Last',opendialog1.FileName) ;
  finally
    dirini.Free;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
  var
  path: String;
begin
  path := ExtractFilePath(Application.ExeName) + 'Datos.ini';
  dirini := TIniFile.Create(path);
  try
  opendialog1.FileName:= dirini.ReadString('Opendialog1','Last','');
  ADOconnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+
  opendialog1.FileName+';Persist Security Info=False';
  finally
    dirini.Free;
  end;
end;


recuerden poner en user (inifiles) y en var (dirini: tinifile;).


La franja horaria es GMT +2. Ahora son las 03:21:27.

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