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)
-   -   Conexión con adoconnection (https://www.clubdelphi.com/foros/showthread.php?t=33760)

Fat 16-07-2006 16:23:04

Conexión con adoconnection
 
Mi problema es el siguiente:
Tengo una aplicación que la conección a la base de datos es con un adoconnection en lo cual no hay problema, el problema empieza cuando muevo la base para otro directorio. Lo que necesito es poder ponerle al adoconnection.string en modo de ejecución de la aplicación el camino nuevo a la base que por cierto es en access.
Gracias de ante mano por todaa la ayuda que me puedan dar.

vtdeleon 16-07-2006 16:28:48

Dise~a un formulario para ese menester, con un OpenDialog para asignar la ruta de la BBDD.
Código Delphi [-]
//Esto solo es un ejemplo, no me acuerdo bien de las propiedades de ADO
Adocon.connection:=OpenDialog1.Filename;

Saludos

Fat 16-07-2006 16:39:00

Utilize esto
 
si utilize esto
Código Delphi [-]
if opendialog1.Execute then
Conn:=
 'Provider=Microsoft.Jet.OLEDB.4.0'+
 ';Data Source=' + ExtractFilePath(OpenDialog1.Filename) + '..\Mora\mora.mdb' +
 ';Persist Security Info=False';
  adoconnection1.Connected:= false;
  adoconnection1.ConnectionString:= Conn;
   adoconnection1.Connected:= true;
Y todo funciona con el adoconnection pero el dbgrid no me salen los contenidos de las tablas (Adotable).

vtdeleon 16-07-2006 16:43:28

Trata de usar las etiquetas para el codigo, ya lo he cambiado por ti y mira la diferencia. Right?;)

Siguiendo con el tema:

No enteindo porque usas ExtractFilePath :confused:, si con este componenten puedes obtener el direcotorio y el nombre del archivo completo.

Lo del DBGrid es estra~o, si Adoconnection te funciona para todo lo demas. Asegurate de que tengas conectado bien DataSources y direccionado correctamente.

Fat 16-07-2006 17:02:49

Ya me funciona
 
Hice lo que me dijistes de quitarle ExtractFilePath y me funciona correctamente.
Gracias llevaba dos días rompiendome la cabeza.

Fat 16-07-2006 17:20:42

Sabes
 
Sabes como hacer que el adoconnection guarde el camino a la base?

monifa 17-07-2006 04:13:45

Hola a todos, resulta que soy nueva en lenguaje delphi :(, la nifaverdad es que quiero hacer una coneccion de una base de datos access, pero que lo muestre en StringGrid... tengo una base de datos Clientes.
Para ser sincera, no se ni como empezar, soy mas que una novata en esto. Alguien me puede ayudar?, como puedo hacerlo?... Desde ya muchas gracias por su respuesta y por su tiempo...:o. Y perdon si este mensaje no es tan copado.:D

P/D: hasta ahora el unico lenguaje en que programe fue en Pascal, es la unica opcion que me daban en univ.
--------------------------------------------------------------------------------------------------
Gracias!

vtdeleon 17-07-2006 06:49:09

Saludos
Cita:

Empezado por fat
Sabes como hacer que el adoconnection guarde el camino a la base?

Guarde como? Que sea fijo?
Bueno, a lo que entendi, puedes guardarlo en un archivo txt. Busca documentacion sobre esto.

vtdeleon 17-07-2006 06:51:41

Cita:

Empezado por monifa
Hola a todos, resulta que soy nueva en lenguaje delphi , la nifaverdad es que quiero hacer una coneccion de una base de datos access, pero que lo muestre en StringGrid... tengo una base de datos Clientes.
Para ser sincera, no se ni como empezar, soy mas que una novata en esto. Alguien me puede ayudar?, como puedo hacerlo?... Desde ya muchas gracias por su respuesta y por su tiempo.... Y perdon si este mensaje no es tan copado.

Ya plantiaste este tema en otro hilo, sigamos ahi;)

Fat 17-07-2006 23:30:55

Cita:

Empezado por vtdeleon
Saludos
Guarde como? Que sea fijo?
Bueno, a lo que entendi, puedes guardarlo en un archivo txt. Busca documentacion sobre esto.

quiero que despues que le dije donde estaba la base al adoconn me guarde ese camino para cuando se ejecute la aplicación de nuevo ya el sepa donde esta

vtdeleon 17-07-2006 23:50:15

Lo que te he dicho anterior mente sobre guardarlo en un archivo txt o ini es valido. Tambien puedes guardarlo en el registro de windows. Y por ultimo asignar la ruta de la base de datos en tiempo de dise~o y punto, se queda guardado en el ejecutable

Saludos

Fat 25-07-2006 14:16:03

No se como hacerlo
 
He probado de varias maneras pero no me funciona y de la variante de hacerlo con txt o .ini no se hacerla por favor si sabes donde puedo documentarme al respecto te lo agradesere eternamente es lo unico que me falta para terminar la aplicacion.:(
Gracias

Fat 25-07-2006 16:05:22

Lo Logre
 
Utilice un memo, lo salvo lo gualdo y despues cuando la aplicacion abre lo llamo y ese valor se lo paso al adoconn, si la base la mueven el ado me da que no encuentra la base pero me abre la aplicacion y busco el nuevo camino y vuelvo a hacerlo de nuevo.
Algo asi:
Código Delphi [-]
begin
procedure TForm23.Button1Click(Sender: TObject); 
if opendialog1.Execute then
conn:= OpenDialog1.Filename;
memo1.Lines.Text:= conn;
end;
procedure TForm23.Button2Click(Sender: TObject);
begin
memo1.lines.savetofile('C:\Archivos de programa\H.Panorama\Mora\Database\Data');
end;
procedure TForm23.Button3Click(Sender: TObject);
begin
memo1.lines.loadfromfile('C:\Archivos de programa\H.Panorama\Mora\Database\Data');
a:= memo1.lines.Text;
datamodule3.adoconnection1.connectionstring:='Provider=Microsoft.Jet.OLEDB.4.0'+
 ';Data Source=' + a + '..' +
 ';Jet OLEDB:Database Password="new23pan";Persist Security Info=False';
 datamodule3.adoconnection1.Connected:= false;
    datamodule3.adoconnection1.Connected:= true;
end;
a y conn son variables
Gracias a vtdeleon por todas sus ideas que me ayudaron mucho

vtdeleon 25-07-2006 19:50:02

Saludos

Bueno, veo que buscaste la opcion de usar un Memo.
Solo agregar Begin-end en este if.
Código Delphi [-]
procedure TForm23.Button1Click(Sender: TObject); 
  if opendialog1.Execute then Begin
    conn:= OpenDialog1.Filename;
    memo1.Lines.Text:= conn; 
  end;
end;
Si te funcionó, AMÉN:)


La franja horaria es GMT +2. Ahora son las 01:38:54.

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