Visual Basic - Imagen VB

Life is soft - evento anual de software empresarial
   
Vista:

Imagen VB

Publicado por Angeles (9 intervenciones) el 01/06/2009 13:34:43
hola, será que alguien sabe decirme como llamar una imagen (que tengo en Mysql) desde vusual basic??????? he buscado en muchas partes y todavia no logro como hacerlo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Veamos ...

Publicado por Quique (52 intervenciones) el 01/06/2009 16:44:01
En este artículo
http://www.mysql-hispano.org/page.php?id=20
se explica cómo guardar imágenes (u otro tipo de archivos) en campos BLOB de MySQL, y, obviamente, cómo recuperarlos (creo que está por la página tres, del artículo. Ojalá te sirva, y nos lo comentas, porque hace unos cuantos días le pasé la dirección a alguien, y jamás volvió a escribir; no sabemos si le sirvió o no.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Veamos ...

Publicado por M@ri3nr!& (38 intervenciones) el 01/06/2009 18:02:59
Hola... ya veo que no soy la unica con este problemita....
tengo una duda con respecto a
Dim mystream As ADODB.Stream
Set mystream = New ADODB.Stream
mystream.Type = adTypeBinary

hay que declarar alguna referencia o algo asi... yo en mi base de datos ya tengo la imagen montada el problema es que no se como llamarla desde el visual al mysql.... hice un ejemplo probando para ver y se me creo una tabla adicional en el Mysql... eso me enredo un poco mas!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Veamos ...

Publicado por Quique (52 intervenciones) el 01/06/2009 20:37:33
No debería haber enredo, porque el código que usaste es de ejemplo, y sí, en él se crea una nueva tabla, pero es fácil que lo adaptes y que uses la tabla adecuada en la que tienes la imagen.
Lo que necesitas está por la página cuatro del artículo:
http://www.mysql-hispano.org/page.php?id=20&pag=4
pero, obviamente, deberás hacer algunas adaptaciones al código
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Veamos ...

Publicado por M@ri3nr!& (38 intervenciones) el 03/06/2009 13:52:14
hola...., bueno.. estoy adaptando lo que enviastes a mi codigo y me sale el siguiente error
Error de compilación no se ha definido el tipo definido por el usuario
el error me lo arroja en la siguiente linea
Dim mystream As ADODB.Stream
me imagino que me falta una referencia... pero no se cual es!!!
Espero me puedan ayudar!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Esta es la referencia

Publicado por Quique (52 intervenciones) el 03/06/2009 16:30:12
En el otro mensaje que posteaste hace días te mencionaba (y preguntaba):

la referencia es "Microsoft ActiveX Data Objects 2.8 Library" (o la versión que tengas). Te estás conectando a MySQL con el driver MyODBC, supongo. ¿O cómo te conectas a la base de datos y a la tabla que guarda las imágenes?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esta es la referencia

Publicado por M@ri3nr!& (38 intervenciones) el 03/06/2009 17:18:13
si, me estoy conectando mediante OBDC.... y tengo esa referencia activada... en realidad tengo es la 2.0 activada, es decir "Microsoft ActiveX Data Objects 2.0 Library"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Esta es la referencia

Publicado por M@ri3nr!& (38 intervenciones) el 03/06/2009 17:26:08
Ese error me lo arrojo cuando estuve haciendo el ejemplo... Ahorita no me da ningún error pero no me muestra la imagen.. no se como llamarla para que se muestre (es decir cuando quiero hacer una consulta). Cuando quiero llamar un dato para que me lo muestre en un textbox simplemente hago
Form3.Text26.Text = rs.Fields!diametroeje y en este caso me muestra lo que esta almacenado en BD precisamente en ese campo pero con respecto a la imagen no lo se! en lo que mandastes me salen algunas cosas pero no me funcionan!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Prueba esto

Publicado por Quique (52 intervenciones) el 03/06/2009 23:34:43
De acuerdo, esto te funciona con los campos "normales"
Text26.Text = rs.Fields!diametroeje
para los binarios, como las imágenes, el siguiente código te ayudará

' Realizas la consulta (con la tabla adecuada y el campo correcto)
rs.Open "Select * from files WHERE files.file_id = 1", conn
mystream.Open
mystream.Write rs!File ' Aquí usas el campo que contiene la imagen
' La imagen se guardará en el archivo c:\LaImagen.jpg o el
' nombre que quieras darle:
mystream.SaveToFile "c:\LaImagen.jpg", adSaveCreateOverWrite
mystream.close
rs.close
' Una vez que tienes el archivo de la imagen la
' cargas a tu control PictureBox (según el nombre que tenga):
Set Image1.Picture = LoadPicture("c:\LaImagen.jpg")
' Despues de eso puedes borra el archivo temporal, si quieres.
Kill "c:\LaImagen.jpg"

Algo así es.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Prueba esto

Publicado por M@ri3nr!& (38 intervenciones) el 04/06/2009 13:41:56
Hola,

Disculpa tanta molestia!! pero me surgió otra duda... cuando haces la consulta que utilizas esta instruccion
rs.Open "Select * from files WHERE files.file_id = 1", conn
¿me estas diciendo que me vaya a esa tabla y me dirija a ese campo cierto?

perfecto con eso... yo cuando estuve haciendo el ejemplo cree esa tabla con todos esos campos pero ¿que sucede si las imagenes las tengo una tabla diferente? es decir en la misma tabla donde guardo los datos de tipo VARCHAR() por supuesto con un campo de tipo BLOB.

tendria que utlizar esa misma sentencia o en mi caso que sera esta
rs.Open "SELECT * FROM datos WHERE pozo LIKE '" + Text47.Text + "'", conn

Espero tu respuesta...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

GRACIAS

Publicado por M@ri3nr!& (38 intervenciones) el 04/06/2009 14:13:43
al fin ya me muestra la imagen!!! de verdad muchisimas gracias.....
y de verdad se merecen muchas felicitaciones!!!
GRACIAS QUIQUE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:imagen en vb

Publicado por carla (8 intervenciones) el 26/06/2009 14:48:07
hola, buenos dias M@ri3nr!& seria mucho pedir colocaras no tanto como los pasos si no alguna explicacion de como lo lograste??? la verdad llevo dias d<ndole a esto y no se como hacer .......si me puedes hechar una manito por fa estare muy agradecida.

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:imagen en vb

Publicado por M@ri3nr!s (11 intervenciones) el 28/06/2009 19:15:09
hola, si aqui esta mi codigo, el cual me muestra la imagen del pozo cuando hago la petecion mediante el nombre del pozo. Espero te sea de ayuda.

'Aqui hago la delaraciones de las conexiones
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Dim mystream As ADODB.Stream
Set mystream = New ADODB.Stream
mystream.Type = adTypeBinary
conn.CursorLocation = adUseClient
conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=pozos; UID=root; PWD=1234; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
conn.Open

' este es el codigo que me realiza la busqueda
rs.Open "SELECT * FROM datos WHERE pozo LIKE '" + Text47.Text + "'", conn ' me selecciona todo de la tabla datos donde el valor que introduzca sea igual al valor que coloque en Text47.Text
Form3.Text1.Text = rs.Fields!pozo 'aqui me muestra es el nombre del pozo

mystream.Open

'mystream es el nombre de mi variable de imagen
mystream.Write rs!fotopozo ' Aquí usas el campo que contiene la imagen
mystream.SaveToFile "c:LaImagen.jpg", adSaveCreateOverWrite
mystream.Close
rs.Close
Set Image1.Picture = LoadPicture("c:LaImagen.jpg")
Kill "c:LaImagen.jpg"

Bueno lo demas del codigo lo explica el Sr Quique, porque con su ayuda fue que lo logre hacer. Espero que te pueda servir
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:imagen en vb

Publicado por carla (8 intervenciones) el 30/06/2009 18:56:49
GRACIAS............................... M@ri3nr!s

SALUDOS : )
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar