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)
-   -   Problemas con ADO y JPG - SOLUCIONES!!!? (https://www.clubdelphi.com/foros/showthread.php?t=41768)

casacham 25-03-2007 16:41:23

Problemas con ADO y JPG - SOLUCIONES!!!?
 
:cool: Hola a TODOS
Voy a plantear un problema que me surgio al mudarme de PARADOX a ADO. Tengo una base de datos compleja, con muchas tablas (10) y con interrelaiones de mediana envergadura. Enla que hay una tabla en particular la que esta destinada a almacenar fotos y para ello cuenta con tres campos para distintas imagenes. La estructura de la base de datos la he creado en Acces de microsoft y los campos destinados a las imagenes son del tipo OLE en microsoft, pero cuando los abro en delphi son BLob. Hasta aqui todo bien.
:eek: El problema es que estos campos solo aceptan archivos BMP, ninguna otra extension se puede almacenar en estos campos de ADO y los mismo vale para PARADOX. Asi que he buscado soluciones alternativas: La primera y mas efectiva fue convertir los archivos JPG a BMP segun un codigo muy sencillo encontrado en "TRUCOS" del club delphi. Lo digo por si hay gente viendo esto y esta interesada por algo mas simple. La otra solucion la recibi de un amigo del club: DELPHIUS, que me dio un link del boletin pascal N°11 donde esta la solucion completa. Es decir alli se explica muy bien como hacer para almacenar cualquier tipo de archivo grafico a un campo sin tener que convertir el formato a BMP, lo bueno es que para PARADOX funciona muy bien. Resumiendo, contamos con dos soluciones para almacenar cualquier archivo grafico, cuando quiero aplicarlo a campos de la tabla ADO el problema resurje, solo puedo almacenar BMP y debo convertir los otros formatos a este. Y no deseo hacer eso ya que JPG es menos pesado a la hora de tener una coleccion de ellos en la base de datos.
:) Quisiera saber si alguien ha programado algo por el estilo (haya podido postear otras extensiones en campos BLOB de ADO) y como lo ha resuelto:) . Si desean que les de informacion de las soluciones encontradas por mi para estos problemas solo haganlo saber y les mando el codigo explicado paso por paso. Pero recuerden que aqui en el foro tienen todo, yo saque todo de aqui

MUCHISIMAS GRACIAS a todos aquellos que les interesa las bases de datos y son amigos de Delphi y del Club mas grande de pensadores. CLUB DELPHI.:D

¿Como almacenar en campos BLOB de ADO imagenes no BMP sin tener que convertirlas? Funciona para sistema PARADOX, cual sera para ACCES? o ADO?

Boletin pascal
http://www.latiumsoftware.com/es/pascal/0011.php

droguerman 26-03-2007 03:29:42

la solución que muestras de boletin pascal es válida solo que en vez de usar el tipo graphics usas el tipo binary.

Caral 26-03-2007 19:25:37

Hola casacham
Creo que estas usando segun entiendo access ?
Si es asi, uso sin problemas para fotos, de cualquier tipo, el campo memo.
Te recomiendo que cambies a ese tipo y veremos que pasa, nos comentas.
Saludos

casacham 28-03-2007 02:51:25

RESPUESTA de CASACHAM
 
Gracias a todos los que respondieron, gracias a Karal y a Droguerman. Lo que hice fue campiar desde el Inspector de Objetos el tipo TBlob a TBlobGraphic, lo que dio muy buen resultado. No esperaba que la solucion fuera muy sencilla. con TBinary no he probado, porque queria hacer el intento con TBlobGraphic ya que esa idea sale de la sugerencia de TBinary.
Pregunta para Karal:
Veo tu sugerencia de utilizar los TMemo para almacenar graficos que me parece fantastica; Tengo que crear desde acces mi campo como un Memo? o Tengo que utilizar un campo ole desde acces y luego en el inspector de objetos modificar la propiedad Blob Type de ftBlob a ftFmtMemo?

Caral 01-06-2007 00:55:30

Hola
Pues esta pregunta se me hizo viejita, no la avía visto, perdon.
Solo tienes que crear el campo tipo memo directo en access, no hay que hacer nada mas.
Perdon por el olvido.
Saludos

casacham 02-06-2007 00:09:46

Gracias
 
:cool: Gracias Caral por responder, bueno, aunque el tiempo no es lo que importa, sino que realmente le pones ganas a todo esto. Si te interesa, aqui tengo un problema que me esta costando bastante resolverlo y como ya no le encontre salida genere este hilo http://www.clubdelphi.com/foros/showthread.php?t=44276 a ver si tu puedes decirme algo al respecto:D

gabirojas 05-09-2007 16:56:07

Hola
 
Una consulta: como sería el código en Delphi para cargar la imagen en el campo memo? Uso un ADOTable para cargar los datos, y no encuentro la manera para cargar la imagen. Desde ya muchas gracias.

gabirojas 05-09-2007 20:30:23

tblobgrafic
 
Hola Casacham. Como cambiaste el tipo tblob a tblobgraphic, ya que tengo el mismo problema al cargar un jpg. Muchas gracias por su tiempo.

gabirojas 05-09-2007 21:40:42

stream error
 
////////nuevo hilo/////////

casacham 08-09-2007 23:13:25

Rta para gabirojas:
Lo hice en el inspector de objetos cuando tenia delphi 6. En delphi 7 no se puede. He probado utilizar un campo tipo Memo para almacenar fotos. Pero no me ha dado resultados, asi que sigo con el tipo Ole nomas. Insisto que el boletin pascal N° 11 es la mejor solucion que encontre para este problema. Aqui lo coloco su direccion

http://www.latiumsoftware.com/es/pascal/0011.php

gabirojas 09-09-2007 02:03:10

Muchas gracias!!
 
Muy bueno, me sirvió mucho. Gracias por tu recomendacion. Espero serte util algun dia. Salu2.


La franja horaria es GMT +2. Ahora son las 06:21:47.

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