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)
-   -   Elegir un archivo y cargarlo en BD (https://www.clubdelphi.com/foros/showthread.php?t=84046)

exequielmatias1 02-09-2013 15:51:41

Elegir un archivo y cargarlo en BD
 
Hola!! una pregunta..
Tengo una Base de datos en Access conectada con ADOQuery. Necesito elegir desde algún componente, un archivo de mi pc y guardarlo en esta base de datos, la misma posee una columa memo en la que se puede adjuntar archivos.

ecfisa 02-09-2013 18:51:21

Cita:

Empezado por exequielmatias1 (Mensaje 466313)
Tengo una Base de datos en Access conectada con ADOQuery. Necesito elegir desde algún componente, un archivo de mi pc y guardarlo en esta base de datos, la misma posee una columa memo en la que se puede adjuntar archivos.

Hola.

¿ Y de que tipo es el archivo que deseas guardar en la bd ?

Saludos :)

exequielmatias1 02-09-2013 21:12:08

Cita:

Empezado por ecfisa (Mensaje 466327)
Hola.

¿ Y de que tipo es el archivo que deseas guardar en la bd ?

Saludos :)

Hola ecfisa! zip y rar dentro de ellos son archivos de office..

exequielmatias1 03-09-2013 01:23:00

Quisiera saber ademas, ya que veo complicada la posibilidad de guardar el archivo en la BD, la posibilidad de copiar el archivo a otro directorio. Es decir.. elegir el archivo en un origen determinado, y copiarlo hacia otro directorio.
Gracias!!

AzidRain 03-09-2013 02:02:19

Se pueden guardar en la BD, sin embargo no es lo ideal ya que las BD no se hicieron para guardar archivos. A lo sumo puedos guardar el PATH del archivo para que por otra vía se recupere dicho archivo.

Pericles 01-10-2013 23:19:04

Hola como aclaran anteriormente, es mejor guardar la ruta que los datos propiamente dichos.

El siguiente codigo ejecuta un selector de archivos (en este caso habilitado para archivos de imagenes) y la modificacion con el nombre del archivo seleccionado en la base de datos.
(hay que revisar si compila completo y agregarle bloques try/finally etc.. no revise todo...)

Código Delphi [-]

procedure TForm1.Button1Click(Sender: TObject);
var
  SelectorArchivos : TOpenDialog;
  archivo: string;
begin

  SelectorArchivos := TOpenDialog.Create(self);
  SelectorArchivos.Options := [ofFileMustExist];
  SelectorArchivos.Filter := 'Image Files (*.bmp, *.jpg)|*.bmp;*.jpg';
  SelectorArchivos.FilterIndex := 2;

if SelectorArchivos.Execute  then 
Begin      
  archivo := SelectorArchivos.FileName;  
  ADOquery.Active:= false;
  ADOquery.SQL.Clear;
  ADOquery.SQL.Text:=       'UPDATE Tabla SET CampoArchivo='+  archivo +' WHERE id=4545';
  ADOquery.Active:= true;
  ADOquery.ExecSQL;
end
else
    ....
end;

SelectorArchivos.Free;
end;


Saludos
Nicolas Perichon


La franja horaria es GMT +2. Ahora son las 14:46:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi