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)
-   -   Insertar Imagen en Registro de Access (https://www.clubdelphi.com/foros/showthread.php?t=47190)

Saiyan 21-08-2007 16:44:44

Insertar Imagen en Registro de Access
 
Hola:

estoy investigando la insercion de una imagen en un campo de un registro en una tabla de Access con Delphi 7 con los componentes ADO.

He buscado en el Foro y he leido un par de soluciones, pero bastante largas y mediante implementación de:
TADOBlobStream
TMemoryStream
Posiciones hexa de memoria, etc
y similares


No hay manera de capturar la imagen en una variable y
hacer la insercion en la sentencia SQL de Insert?

Ej:
Código SQL [-]
INSERT INTO Tabla (Nombre,Apellido,Foto) VALUES (:Nombre, 
:Apel, :Foto)

y pasarle como parametro con
Código Delphi [-]
ParamsByName('Foto').value := varFoto;

hm?
o es necesario hacerlo mediante los streams de
memoria, blobs, etc??

Gracias desde ya
Saludos

PD: quiero almacenar la imagen fisicamente en la base, no la ruta.

Paoti 21-08-2007 17:07:36

Hola sayan,


Prueba hacerlo de la forma "dificil", es muy fácil, puedes meterla en un procedimiento...

porque no se puede hacer de la froma que tu dices.

porque no hay algo parecido a:

FieldByname('CampoFoto').asJPG := loadfromfile('ruta\archivo.jpg');

busca en el histórico del foro, ya hay temas tratados así, incluso, yo en su momento tuve la misma duda y aqui en el foro me ayudarón.

Saiyan 21-08-2007 17:20:13

OK, esperaba que haya alguna manera, pero supongo que no, puesto que almacena fisicamente y debe ir pasando de a streams...

pero bueno, ire leyendo e interpretando los procedimientos que ofrecen.

Muchas Gracias.
Saludos

fjcg02 21-08-2007 20:42:14

A ver si te vale.
Yo edito una tabla, es decir, tengo un TADOTable, pongo en el formulario un dbimage asociado al campo de la imagen, pongo un boton con este código y me carga la imagen en el campo de la tabla.

Espero que te valga.

Saludos

Código Delphi [-]
procedure TFormSubclases.BitBtn1Click(Sender: TObject);
begin
  with TOpendialog.Create(nil) do
  try
    Filter:= 'Archivos de imagen|*.bmp;*.ico;*.jpg';
    if Execute then
    begin
      TablaSubclases.Edit;
      DBImage1.Picture.LoadFromFile(Filename);
    end;
  finally
    Free;
  end;
end;

Saiyan 22-08-2007 13:40:59

Pruebo y te aviso que pasó..

Saiyan 22-08-2007 14:02:00

Cita:

pongo en el formulario un dbimage asociado al campo de la imagen
No estoy familiarizado con el uso del componente ADOTable, manejo el SQL via tablas de la base de datos directamente.

Como asocias un DBImage a un campo del componente de los AdoTables?

fjcg02 22-08-2007 17:10:15

Por ejemplo,
tiras un adotable y un datasource en el formulario, al datasource le asocias el adotable, le das al adotable nombre de la bbdd, seleccionas la tabla, le das doble click al adotable, añades todos los campos, tiras un dbimage, en ese dbimage seleccionas el datasource y el campo y ya está.

Espero que lo entiendas .

Saludos

Saiyan 22-08-2007 17:27:52

nO SABIA
 
Ahh, je.. no sabia que se le podia asociar un datasource al adotable.. como te dije no he usado adotables..

Muchas gracias, pruebo el codigo y luego te comento como anduve


Saludos


La franja horaria es GMT +2. Ahora son las 19:34:33.

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