PDA

Ver la Versión Completa : Guardar imagenes en una base de datos


eudy.net
07-12-2007, 19:24:52
Hola a todos,

Aqui les planteo mi problema: estoy haciendo una aplicación que utilize una base de datos de SQL SERVER 2000, en dicha base de datos tengo una tabla llamada Tconductor, dicha tabla tiene un campo llamado Imagen

¿Como puedo guardar, sustituir y eliminar esa imagen mediante delphi??????

Gracias anticipadas,:D
Se despide,
eudy.net
"Mientras más aprendo, más me doy cuenta de lo ignorante que soy"

BlueSteel
08-12-2007, 00:46:46
Hola eudy.net

bueno, te informo que este tema ha sido tratado, es preferible que realices una busqueda en el Foro, y encontrarás los resultados...

si quieres revisa estos hilo (http://www.clubdelphi.com/foros/search.php?searchid=1042107)

ahora, bien.. si tienes problemas para guardar la imagen, tambien depende de cuantos registros quieras almacenar, puede que te convenga que la imagen la guardes en una carpeta compartida, y que en la tabla guardes el path (ruta) donde esta almacenada la foto... esto te puede servir para que el sistema funcione mucho más rápido...

dale una vuelta...

salu2:p:D

eudy.net
08-12-2007, 04:16:53
Muchas gracias BlueSteel,

Opté mejor por hacerlo guardando la dirección en la base de datos, gracias me sirvió de mucho :):D

rpgr
17-01-2010, 17:30:04
la guardas en Base de datos SQL tabla tconductor, campo tipo de campo image guardando la imagen :

extraer imagen desde path -> Image1.Picture.LoadFromFile(ExtractFilePath(Application.Name)+imegen.bmp);

y la grabas asi

tconductor.FieldByName('FOTO').Assign(Image1.Picture);

Delfino
26-01-2010, 13:30:57
Yo lo hago siempre con el control TJvDBImage de la JVCL, bueno bonito y barato :D

MARLON1
24-03-2011, 19:52:36
Yo lo hago siempre con el control TJvDBImage de la JVCL, bueno bonito y barato :D


hola delfino, revisando todo lo de visualizacion de imagenes en el foro encontre tu porpuesta para hacer la visualizacion, descargue el componente, lo isntale, lo utilize y me sale el error de "" imagen bitmap invalida"", este error me sale tambien con el componente dbimage, me podrias decir que estoy haciendo mal porfavor, te agradezco tu ayuda.

estoy utilizando

Query-Datasource-TJvDbImage-DataField-imagen

al momento de activar el query me sale el error.

rpgr
25-03-2011, 12:14:16
puede ser que estes guardando la imagen en el QRY y no en la tabla base....

mandame el codigo y te ayudo...

MARLON1
25-03-2011, 16:26:07
hola, lo que pasa es que no estoy utlizando codigo, solo hago las conexiones correspondientes.

Query-DataSource-DBimage

en el datafield del dbimage selecciono el campo(blob) "imagen" que es donde esta almacenada la imagen, pweo al momento de activar el query. me dice que la imagen bitmap no es valida.

rpgr
25-03-2011, 17:36:04
no entiendo tu trabajo....

como tomas la imagen y donde la quieres guardar...

mas detalle ...

MARLON1
25-03-2011, 18:22:10
gracias por tu atencion, lo que pasa es que no quiero guardar, quiero visualizar la imagen, lo que hago es una consulta con el query para obtener registros de la tabla, entonces asocio el dbimage con el campo imagen de mi tabla para visualizarla, con las conexiones ya antes mencionadas, pero me sale el error que te comento.:confused:, gracias de antemano.

rpgr
25-03-2011, 20:28:05
yo utilizo para leer :

Image1 : cuadro imagen en formulario

FOTO : nombre campo en tabla QRYMaestro con tipo image

muestro en una RxDBGrid1 los datos de resultado de mi QRY y en el evento KeyPress pongo "Image1.Picture.Assign(QRYMaestro.fieldByName('FOTO'));"

Ejemplo :
procedure TFRMEnrolados.RxDBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
Image1.Picture.Assign(ADOQRYMaestro.fieldByName('FOTO'));
end;

MARLON1
25-03-2011, 20:48:46
yo utilizo para leer :

Image1 : cuadro imagen en formulario

FOTO : nombre campo en tabla QRYMaestro con tipo image

muestro en una RxDBGrid1 los datos de resultado de mi QRY y en el evento KeyPress pongo "Image1.Picture.Assign(QRYMaestro.fieldByName('FOTO'));"

Ejemplo :
procedure TFRMEnrolados.RxDBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
Image1.Picture.Assign(ADOQRYMaestro.fieldByName('FOTO'));
end;

Este ejemplo ya lo habia probado. pero me sale el mismo error. nose a que se deba! pero seguire intenta. muchas gracias por la ayuda. pienso que a de ser por el formato de la imagen o algo asi :s.


procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Image1.Picture.Assign(query1.fieldByName('imagen'));
end;

rpgr
25-03-2011, 21:04:44
Solo soporta imagen tipo BMP....

MARLON1
25-03-2011, 22:33:20
ese es el problema!! muchas gracias, disculpa sabras como puedo cambiar el formato de la imagen a bmp?, muchas gracias por la info :D

rpgr
28-03-2011, 13:05:18
Hay muchos programas.... yo utilizo el Corel Fotho Paint
bsca en internet....

Casimiro Notevi
28-03-2011, 13:19:56
Abajo, al final de la página hay varios enlaces que os puede servir, en todo caso también está la opción de "Buscar" para hacer búsquedas por todos los temas de clubdelphi.