Visual Basic - PROBLEMAS

Life is soft - evento anual de software empresarial
 
Vista:

PROBLEMAS

Publicado por Angeles (9 intervenciones) el 01/07/2009 14:46:08
hola, nuevamente tengo problemas con lo de la imagen. gracias a las consultas que se realizaron en este foro logre solventar la mayoria de los problemas presentados. Pero se me presento uno nuevamente.
Tengo el siguiente codigo el cual me guie realizandolo desde la pagina que un programdor envió: lo que en realidad quiero es cambiar la imagen que tenga en la base de datos pero no me funciona.

conn.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=Imagem; UID=root; PWD=0000; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
conex.Open
rs.Open "Select * from fotoo WHERE foto= 1", conn, adOpenKeyset, adLockOptimistic
mystream.Open
mystream.LoadFromFile "c:updateimage.jpg"
CommonDialog1.ShowOpen
mystream.LoadFromFile CommonDialog1.FileName
rs!foto = mystream.Read '<-------- 'Aqui es Donde me arroja el error
mystream.Close
rs.Close
MsgBox "La Imagen ha sido cambiada satisfactoriamente", vbOKOnly + vbInformation, "Informacion"

El error que me arroja es el siguiente: el valor bof o eof es true o el actual registro se elimino, la operacion socitada requiere de un registro actual.
lo que necesito es cambiar una imagen vieja por una nueva. No se si exisa otra manera de hacerlo. Espero que por favor me puedan ayudar.
De antemano muchas Gracias.
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

Te falta comparar algo

Publicado por Quique (12 intervenciones) el 01/07/2009 16:46:01
Bueno, cuando realizas una búsqueda, es posible que sí se halle lo que se busca o no. Pero en tu código no comparas si la búsqueda que realizas localizó el registro:

rs.Open "Select * from fotoo WHERE foto= 1", conn, adOpenKeyset, adLockOptimistic
' Lanzaste la consulta, pero por el error que mencionas, parece que no existe ese registro. Deberías validar si existe:

If Not rs.EOF Then ' Aquí comparas que exista, y continuas.
mystream.Open
mystream.LoadFromFile "c:updateimage.jpg"
CommonDialog1.ShowOpen
mystream.LoadFromFile CommonDialog1.FileName
rs!foto = mystream.Read '<-------- 'Aqui es Donde me arroja el error
mystream.Close
rs.Close ' ¿Estás cerrando tu recorset sin hacer ANTES un rs.Update ?
MsgBox "La Imagen ha sido cambiada satisfactoriamente", vbOKOnly + vbInformation, "Informacion
End If ' Cierras la condición del EOF.

A ver si te sirve (y nos lo comentas).
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:Te falta comparar algo

Publicado por Angeles  (9 intervenciones) el 01/07/2009 17:42:04
Tienes razón, cuando realizo la comparación me indica que no hay registros. Ya arregle ese detalle. El problema estaba con
rs.Open "Select * from fotoo WHERE foto= 1", conn, adOpenKeyset, adLockOptimistic
Es decir no me estaba haciendo la selección adecuada, esta instrucción la cambie por:

rs.Open "Select * from imagenes WHERE foto='" + Text1.Text + "';", conn

Y por supuesto arregle esta corrección que me hiciste.
rs.Close ' ¿Estás cerrando tu recorset sin hacer ANTES un rs.Update ?

MUCHAS GRACIAS POR TU COLABORACIÓN. ¡DE VERDAD ME HAS AYUDADO MUCHISIMO!

Éxitos.....
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:Te falta comparar algo

Publicado por jaime guerrero (361 intervenciones) el 02/07/2009 16:41:13
porque haces esto??

mystream.LoadFromFile "c:updateimage.jpg"
CommonDialog1.ShowOpen
mystream.LoadFromFile CommonDialog1.FileName

debes decidir si le pasas la ruta en duro o por el commondialog
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

ya decidió

Publicado por Usuario (1 intervención) el 02/07/2009 16:53:05
y lo está haciendo por el CommonDialog ¿cual es el problema?

que costumbre la tuya de interferir cuando ya no haces falta, deberías hacerlo cuando sí se podría necesitar de tus "conocimientos"
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:Te falta comparar algo

Publicado por Angeles  (9 intervenciones) el 02/07/2009 17:32:19
tienes razon se me olvido colocar ese detalle...
quite mystream.LoadFromFile "c:updateimage.jpg"
porque le paso la ruta mediante el commondialog. gracias por la aclaratoria
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