elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Volvemos al tema de las imágenes en la bdd. (c#) [SOLUCIONADO]
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Volvemos al tema de las imágenes en la bdd. (c#) [SOLUCIONADO]  (Leído 8,678 veces)
Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Volvemos al tema de las imágenes en la bdd. (c#) [SOLUCIONADO]
« en: 1 Julio 2010, 16:49 pm »

EDITO:

Problema: Problema al actualizar la base de datos habiendo cambiado la imagen almacenada.

Solución: El error estaba en la sentencia sql:

yo tenía esto:
Código
  1. ... datos[34] + "',imagen = '@img' WHERE apodo = 'litos001'";
  2.  


y la solución es quitar las comillas del @img de manera que queda así:
Código
  1. ...datos[34] + "',imagen = @img WHERE apodo = 'litos001'";

Espero que ahora quede claro

Salu2.


« Última modificación: 2 Julio 2010, 17:17 pm por Hartigan » En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #1 en: 1 Julio 2010, 17:30 pm »

Permiteme algunos comentarios respecto al código:
Dado que estas actualizando un contacto, intenta utilizar objetos, de este modo lograrás un código más legible y evitas tener esas sentencias sql con array[1], array[2], etc
Podrías utilizar procedimientos almacenados en la bbdd, por lo mismo de esas sentencias.

Sobre el error:
¿Has verificado que el contenido de img sea correcto?
¿Qué versión de .NET estas utilizando?
¿Qué tipo de imagen debería de ser?

Intenta de este modo ...
Código
  1. System.IO.MemoryStream derec = new System.IO.MemoryStream(img);
  2. pictureBox_FotoImagen.Image = Image.FromStream(derec);

Ahora no puedo probar, así que podría estar igual de mal :xD

Saludos


En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #2 en: 1 Julio 2010, 17:40 pm »

Todo eso ya se le ha dicho en su post anterior. Mi recomendación es que reescriba el proyecto utilizando un modelo de componentes eficiente con procedimientos almacenados.

Saludos!
En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #3 en: 1 Julio 2010, 17:45 pm »

Gracias por las respuestas y recomendaciones pero os comento mi situación., Es la primera vez que programo en c# y ando un poco perdido, ya que en la uni solo me han enseñado c... entonces no se muy bien como usar los objetos. Sí la teoría más o menos la se, o se cosas de lo que he leido por ahí, de curso de c# que tiene guille, pero en la practica real ando un poco pez. si me ayudais un ppoco con algun ejemplo o me aclarais un poco más empezaría de nuevo gustosamente porque se que así no está del todo bien.

Salu2 y gracias.
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #4 en: 1 Julio 2010, 17:56 pm »

En la wiki hay varios temas buenos sobre .Net que deberías leer.
http://wiki.elhacker.net/programacion

Con respecto a la programación orientada a objetos
http://www.codersource.net/microsoft-net/c-basics-tutorials/oop-c-net.aspx

En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #5 en: 1 Julio 2010, 18:03 pm »

En la wiki hay varios temas buenos sobre .Net que deberías leer.
http://wiki.elhacker.net/programacion

Con respecto a la programación orientada a objetos
http://www.codersource.net/microsoft-net/c-basics-tutorials/oop-c-net.aspx



gracias por los enlaces. xD

osea con lo de los objetos, yo craría un objeto que contendría las variables y en la sentencia sql solo tendría que pasarle el objeto?? o como?

y sobre mi problema. nevolucker, he probado lo que me has dicho y me sigue pasando lo mismo.
« Última modificación: 1 Julio 2010, 18:07 pm por Hartigan » En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #6 en: 1 Julio 2010, 18:46 pm »

Exacto! Normalmente creas una clase por cada tabla, dependiendo del modelo que estés haciendo. Ahora, en este caso tienes una tabla llamada contactos (Yo personalmente pongo los nombres de las tablas en singular, pero bueno cada quien con sus gustos) y bueno tienes que crear una clase Contacto (Obligatoriamente en singular, plurales son para las listas, colecciones, arrays, etc)

Entonces esa clase tiene una propiedad por cada campo en la base de datos. Y además tienes que tener un método save, o algo por el estilo que encapsule la forma de guardar los datos en la base de datos. Además obviamente tienes que tener tu clase de acceso a datos..

Saludos
En línea

Novlucker
Ninja y
Colaborador
***
Desconectado Desconectado

Mensajes: 10.683

Yo que tu lo pienso dos veces


Ver Perfil
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #7 en: 1 Julio 2010, 19:06 pm »

Citar
Sobre el error:
¿Has verificado que el contenido de img sea correcto?
¿Qué versión de .NET estas utilizando?
¿Qué tipo de imagen debería de ser?
:rolleyes:

Saludos
En línea

Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD
"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein
Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #8 en: 2 Julio 2010, 01:38 am »

Exacto! Normalmente creas una clase por cada tabla, dependiendo del modelo que estés haciendo. Ahora, en este caso tienes una tabla llamada contactos (Yo personalmente pongo los nombres de las tablas en singular, pero bueno cada quien con sus gustos) y bueno tienes que crear una clase Contacto (Obligatoriamente en singular, plurales son para las listas, colecciones, arrays, etc)

Entonces esa clase tiene una propiedad por cada campo en la base de datos. Y además tienes que tener un método save, o algo por el estilo que encapsule la forma de guardar los datos en la base de datos. Además obviamente tienes que tener tu clase de acceso a datos..

Saludos

si si sis, mira, yo lo que tengo es lo siguiente: una clase, gestor_contacto, para gestionar los contactos, una clase contacto donde se realizan las operaciones principales set y get, y luego un par de clases para acceder ala fuente de datos siguiendo el esquema del patrón dao, más bien la factoria dao... Entonces lo que me faltaría sería el usar los objetos que no se bien del todo como hacerlo. xDD (me dan ganas de pasarte mi proyecto para que le heches un ojo y veas de lo que te hablo)

Citar
Sobre el error:
¿Has verificado que el contenido de img sea correcto?
¿Qué versión de .NET estas utilizando?
¿Qué tipo de imagen debería de ser?
:rolleyes:

Saludos


Perdón por no haber contestado a las preguntas, se me pasaron.

Desde la base de datos la imágen parece que se paa bien. estoy usando visual studio 2008 y el framwork 3.5 con sus actualizaciones.

la imagen es un jpg normal y corriente, que antes hago una conversión para poder almacenarlo en la base de datos tal cual me dijeron aquí: http://foro.elhacker.net/net/guardar_imagen_en_base_de_datos_c-t296587.45.html

Entonces la primera vez que lo hago, se me guarda bien y la leo bien, pero la segunda vez yo creo que no la guardo bien, o que no la actualiza bien con esa sentencia sql, que aunque no me da error y parece que algo guarda pero no lo hace bien.... no lo se...

saludos y gracias ;)
En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Volvemos al tema de las imágenes en la bdd. (c#)
« Respuesta #9 en: 2 Julio 2010, 10:34 am »

Vale chicos, el problema es ni más ni menos la sentencia sql que hago para actualziar los datos, lo que estoy haciendo es guardar una cadena convertida a byte... osea la cadena '@img' por eso al leer me da un byte[4] en lugar de un byte[3256] que es lo que debería de guardar... a ver si alguien me puede ayudar a hacer esa sentencia en condiciones, mientras aprendo a usar los objetos.. xD

salu2 ;)
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines