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)
-   -   conexion diferentes bases de datos (https://www.clubdelphi.com/foros/showthread.php?t=60616)

tonid 07-10-2008 21:15:08

conexion diferentes bases de datos
 
Hola compañeros estoy desarrollando una apliación de gestión de exhortos, con componentes ado desde delphi 6, y la bd es sql server 2005 express. La consulta es que he creado dos bases de datos una para civil y otra para penal, y quiero que al arrancar la aplicación pueda seleccionar la base de datos, empleo el adoconnection en su propiedad connectionstring, pero creo que me he liado, alguna ayuda?
gracias.

luisgutierrezb 07-10-2008 21:18:51

Puedes modificar el connectionstring antes de que te conectes para asi entrar a la base que quieras

Neftali [Germán.Estévez] 08-10-2008 07:47:05

Una forma sencilla es crear las dos cadenas de conexion en dos ficheros de texto, por ejempo. Al entrar al la aplicación pregunta al usuario y dependiendo de la respuesta carga en la propiedad ConnectionStrring de tu ADOConnection el contenido del fichero que quieras.

Algo Así:

Código Delphi [-]
var
  TS:TStrings;
  fileName, path:String;
begin
  // preguntar cual desea cargar
  ....


  if (resp = 'penal') then begin
    fileName := 'connP.txt';
  end
  else begin
    fileName := 'connC.txt';
  end;

  path := IncludeTrailingBackSlash(ExtractFilePath(Application.ExeName));
  TS := TStringList.Create();
  try
    TS.LoadFromFile(path + fileName);
    ADOConnection.ConnectionString := TS.Text;
  finally
    TS.Free;
  end;
end;

poliburro 08-10-2008 14:47:35

Cita:

Empezado por Neftali (Mensaje 318873)
Una forma sencilla es crear las dos cadenas de conexion en dos ficheros de texto, por ejempo. Al entrar al la aplicación pregunta al usuario y dependiendo de la respuesta carga en la propiedad ConnectionStrring de tu ADOConnection el contenido del fichero que quieras.


Es verdad aunque para mi gusto son mejor los archivos UDL ya que al ejecutarlos te permiten configurar la cadena con el Wizard de ADO. Además de que estos archivos al tener la estructura de un Ini, son sumamente sencillos de leer.


Otra opción para ti amigo es que definas la cadena de conexión apuntando a la DB master y en tiempo de ejecución y dependiendo de la elección del usuario y antes de abrir la conexión cambies la propiedadad DefaultDataBaseName



Saludos y suerte

Neftali [Germán.Estévez] 08-10-2008 15:08:12

Cita:

Empezado por poliburro (Mensaje 318905)
para mi gusto son mejor los archivos UDL ya que al ejecutarlos te permiten configurar la cadena con el Wizard de ADO.

Básicamente es lo mismo.
En el caso de los UDL no puedes hacer directamente LoadFromFile, pero tienen la ventaja como dices de abrirse con el asistente.

También es buena elección.

poliburro 08-10-2008 15:19:12

Cita:

Empezado por Neftali (Mensaje 318909)
Básicamente es lo mismo.
En el caso de los UDL no puedes hacer directamente LoadFromFile, pero tienen la ventaja como dices de abrirse con el asistente.

También es buena elección.


Con loadfromfile no, pero sí con la clase ini.

Código SQL [-]
 
With TInifile.Create('ArchivoUdl') Do
  Begin
    AdoConnection.Connectionstring :=  'Provider=' + ReadStringIni('OleDb','Provider','');
    Free;
  End;


La franja horaria es GMT +2. Ahora son las 23:56:45.

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