Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   cambiar el gdb en red con tcp ip en ejecucion (https://www.clubdelphi.com/foros/showthread.php?t=2616)

rmnart 30-07-2003 23:47:08

cambiar el gdb en red con tcp ip en ejecucion
 
como cambiar el gdb en red con tcp ip en tiempo de ejecucion, quisiera que el usuario pueda cambiar la base de datos? ...utilizo interbase 6 y componentes ibdataset, ibdatabase.

Se que la ruta seria algo como esto:
190.190.0.220:c:\proyecto\bd\datos.gdb
pero como podria hacer esto sin necesidad que el usuario lo escriba.

guillotmarc 31-07-2003 11:12:48

Hola.

Pón un código de este estilo en el evento BeforeConnect del IBDataBase :

Código:

procedure TForm1.IBDatabase1BeforeConnect(Sender: TObject);
begin
  (Sender As TIBDatabase).DatabaseName := '190.190.0.220:c:\proyecto\bd\datos.gdb';
end;

Normalmente lo que hago es guardar la cadena de conexión en un archivo .ini. De forma que para especificar la ruta solo hay que configurarlo en el archivo. De esta forma el evento queda (lee la ruta en la Clave BaseDeDatos del archivo Config.ini que está en la misma carpeta que la aplicación) :

Código:

procedure TForm1.IBDatabase1BeforeConnect(Sender: TObject);
var Config: TStringList;
begin
  Config := TSTringList.Create;
  Config.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Config.ini');
  (Sender As TIBDatabase).DatabaseName := Config.Values['BaseDeDatos'];
  Config.Free;
end;

Saludos.


La franja horaria es GMT +2. Ahora son las 21:02:58.

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