Visual Basic - Ayuda

Life is soft - evento anual de software empresarial
   
Vista:

Ayuda

Publicado por Vicmar (16 intervenciones) el 04/07/2009 22:00:52
Hola. tengo un problema. la aplicación que estoy desarrollando contiene imagenes en la Base de datos. cuanto intento ingresar una imagen esta se guarda mientras no se sea de gran tamaño. solo me guarda mientras la imagen sea 270 * 200 si esta es de tamaño un poco mas grande el programa dice que se guarda pero cuando intento buscarla no me aperece la misma (es decir no se guarda nada). y si esta es demasiado grande (ej: 1024 *700) me da error.
me gustaria que cuando sucediera esto "cuando el usuario quiera ingresar una imagen de este tamaño" colocar como un mensaje diciendo que la imagen es muy grande que intente con una mas pequeña o algo asi.
Sera que saben cual es mi problema?
Espero me puedan ayudar.
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

RE:Ayuda

Publicado por Abraham Valencia (55 intervenciones) el 04/07/2009 22:20:02
Pues sin ver tu codigo, como que es jugar a las adivinanzas y sin pistas, no crees? Probaste usar un ON ERROR GOTO?

Abraham
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:Ayuda

Publicado por Vicmar  (16 intervenciones) el 05/07/2009 01:57:57
al usar un ON ERROR GOTO tal vez no me arrojaria el error pero la imagen igual no se guardaria (en dado caso de que sea de gran tamaño y esa no es la idea), de hecho uso este comando, pero no por este motivo. como dije anteriormente me gustaria que mande un mensaje diciendo que se debe de colocar la imagen mas pequeña o algo asi. bueno este es mi codigo.
PD: este me funciona bien si la imagen es pequeña.

cox.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=iman; UID=root; PWD=0000; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
cox.Open
rs.Open "SELECT * FROM datos WHERE 1=0", conn, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields("observacion") = Text39.Text
On Local Error GoTo error
rs.Fields("foto") = mystream.Read
error: Text48.Text = ""
rs.Update

MsgBox "Imagen añadida en la Base de Datos", vbOKOnly + vbInformation, "Informacion"
mystream.Close


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

RE:Ayuda

Publicado por jaime guerrero (361 intervenciones) el 06/07/2009 17:35:02
cambia esto
error: Text48.Text = ""

por esto

error: msgbox err.number & " " & err.description

para que sepas cual es el error que se produce.
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:Ayuda

Publicado por Vicmar  (16 intervenciones) el 07/07/2009 13:53:14
Hola nuevamente. el error que me arroja es el siguiente:
No se puede encontrar la fila para su actualizacion: alguno valores han cambiado desde la ultima vez que se leyó.
Este error me lo arroja cuando intento ingresar una imagen.icon u otro tipo que no sea de formaro .jpg me gustaria que cuando el usuario intente ingresar una imagen asi, en vez del error le salga un mensaje diciendo que verifique si la imagen es del formato adecuado o algo parecido!!
Espero me puedan ayudar!
De ante mano muchas gracias..
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:Ayuda

Publicado por JaImE GuErReRo (361 intervenciones) el 07/07/2009 17:12:22
que debes hacer es obtener el numero del error. esto lo obtienes con err.number.

On Error GoTo error

cox.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=iman; UID=root; PWD=0000; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
cox.Open
rs.Open "SELECT * FROM datos WHERE 1=0", conn, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields("observacion") = Text39.Text

rs.Fields("foto") = mystream.Read

rs.Update

MsgBox "Imagen añadida en la Base de Datos", vbOKOnly + vbInformation, "Informacion"
mystream.Close

exit sub
error:
if err.number=##### then
msgbox "verifique si la imagen es del formato adecuado"
else
msgbox err.number & " " & err.descripcion
end if

otra forma seria

if mid(nombrearchivo,instrrev(nombrearchivo,".")+1,3)="ico" then
msgbox "verifique si la imagen es del formato adecuado"

else
cox.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost; DATABASE=iman; UID=root; PWD=0000; OPTION= & 1 + 2 + 8 + 32 + 2048 + 16384"
cox.Open
rs.Open "SELECT * FROM datos WHERE 1=0", conn, adOpenStatic, adLockOptimistic
rs.AddNew
rs.Fields("observacion") = Text39.Text
On Local Error GoTo error
rs.Fields("foto") = mystream.Read
error: Text48.Text = ""
rs.Update

MsgBox "Imagen añadida en la Base de Datos", vbOKOnly + vbInformation, "Informacion"
mystream.Close
end if

instrrev, busca la primera posicion de un caracter desde el final al inicio de una frase
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