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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Guardar Imagen en base de datos. (c#)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 2 3 4 [5] 6 7 8 Ir Abajo Respuesta Imprimir
Autor Tema: Guardar Imagen en base de datos. (c#)  (Leído 60,702 veces)
Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #40 en: 15 Junio 2010, 18:45 pm »

Ya probé el código de escritura que usas, funciona bien, ahora, yo creo que el problema que tienes esta en la lectura, o carga de data . Específicamente akí:

Código
  1. foreach (DataRow myRow in data_table.Rows)
  2. {
  3.     img = (byte[])myRow["imagen"];
  4.     this.textBox1.Text = img[0].ToString() + " " + img[1].ToString() + " " + img[2].ToString() + " " + img[3].ToString();
  5. }

En donde estas recorriendo un datatable que supuestamente debería tener un solo registro.

Si por casualidad te vienen dos vas a mostrar la imagen que no es, o pueede que sea hasta data corrupta que tengas en un registro mientras hacías las pruebas. y por eso te da error.

Entonces, añadres un brake en el foreach, cosa que es mala práctica, o lo haces de ésta manera:

Código
  1. if(data_table.Rows.Count>0)
  2. {
  3.     DataRow myRow = data_table.Rows[0];
  4.     img = (byte[])myRow["imagen"];
  5.     this.textBox1.Text = img[0].ToString() + " " + img[1].ToString() + " " + img[2].ToString() + " " + img[3].ToString();
  6. }

Entonces el código que yo tengo para guardar está bien??? jejej gracias por probarlo. Aun así cambiaré las cosas que me habeis comentado. Voy a probar a cambiar el código de lectura a ver si me funciona con lo que me has dicho.

Saludos , ahora os comento.


En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #41 en: 15 Junio 2010, 18:52 pm »

Ok, perfecto, esperamos a ver como te va.


En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #42 en: 15 Junio 2010, 19:05 pm »

Ok, perfecto, esperamos a ver como te va.

Nada, no funciona. sigue sin leer bien la imágen...
En línea

[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #43 en: 15 Junio 2010, 19:12 pm »

Borra toda la data y creala de nuevo.
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 503



Ver Perfil
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #44 en: 15 Junio 2010, 19:34 pm »

Me parece que estas guardando img como si fuera un string entre ' ', debes suprimirlas, osea solo guardas:

Código
  1. INSERT INTO contactos (nombre,imagen)
  2. VALUES
  3. ('Juan',img);
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
[D4N93R]
Wiki

Desconectado Desconectado

Mensajes: 1.646


My software never has bugs. Its just features!


Ver Perfil WWW
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #45 en: 15 Junio 2010, 19:50 pm »

En efecto, ese es un problema, ya que si no mal recuerdo cuando ejecutas eso se envía a la base de datos algo asi:

0xFFD8FFE000104A46494600010101006000600000FFE1005A.. etc

Por lo que tiene que ser así y no texto..

Saludos
En línea

Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #46 en: 15 Junio 2010, 19:50 pm »

Me parece que estas guardando img como si fuera un string entre ' ', debes suprimirlas, osea solo guardas:

Código
  1. INSERT INTO contactos (nombre,imagen)
  2. VALUES
  3. ('Juan',img);

me da el siguiente error haciendolo como dices:

Código:
El nombre "img" no es válido en este contexto. Las expresiones válidas son constantes, expresiones de constantes y, en algunos contextos, variables. No se permiten nombres de columna.

y lo he hecho así:

Código:
SqlCommand cmd = new SqlCommand("INSERT INTO contactos(apodo,imagen) VALUES('litos',img)", conexion);

Creo me doy por vencido...

 :-(
En línea

43H4FH44H45H4CH49H56H45H
Wiki

Desconectado Desconectado

Mensajes: 503



Ver Perfil
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #47 en: 15 Junio 2010, 20:08 pm »

osea usabas
Código
  1. '" + img + "'
haslo asi:
Código
  1. " + img + "
En línea


-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W
Hartigan


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #48 en: 16 Junio 2010, 00:21 am »

osea usabas
Código
  1. '" + img + "'
haslo asi:
Código
  1. " + img + "

También he probado así, y como te he puesto en el post anterior. De las 2 formas y me sigue fallando. Como me estás diciendo ahora me pasaba lo mismo de siempre, que me dice que el valor no es válido. Y añadiendo solo la imágen y un string me da el error que te he puesto arriba...

y no será cosa del sql??? pruebo con mysql???
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Guardar Imagen en base de datos. (c#)
« Respuesta #49 en: 16 Junio 2010, 00:45 am »

Me parece que estas guardando img como si fuera un string entre ' ', debes suprimirlas, osea solo guardas:

Código
  1. INSERT INTO contactos (nombre,imagen)
  2. VALUES
  3. ('Juan',img);

Esta mal porque no puedes transformar un array a texto asi de simple

Código
  1. INSERT INTO contactos (nombre,imagen)
  2. VALUES
  3. ('Juan',img);
Desde C# se convierte a
Código
  1. INSERT INTO contactos (nombre,imagen)
  2. VALUES
  3. ('Juan',System.Array);

ese es el problema, no se como se maneja el tipo de datos image en sql por codigo, pero suponiendo que tienes que poner todos los bytes.... seria algo asi

Código
  1. string sql = "INSERT INTO contactos (nombre,imagen) values ('Juan',";
  2. sql += System.Text.Encoding.Ascii.GetString(img, 0, img.Length);
  3. sql += ");";
  4.  

Espero que esto ayude algo :P
En línea

Páginas: 1 2 3 4 [5] 6 7 8 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
>Guardar base de datos
Bases de Datos
mapers 7 9,058 Último mensaje 12 Mayo 2011, 08:58 am
por mapers
Guardar imagen sin tener ruta de archivo en una base datos.
.NET (C#, VB.NET, ASP)
enterariel 2 2,668 Último mensaje 10 Agosto 2012, 22:04 pm
por enterariel
guardar campos ocultos en base de datos
Desarrollo Web
jecavi20 2 1,831 Último mensaje 6 Julio 2013, 00:05 am
por jecavi20
Guardar Datos de una encuesta en Base de Datos con SQL Server
Programación C/C++
arodrigu3zg 0 1,211 Último mensaje 20 Abril 2018, 23:06 pm
por arodrigu3zg
Guardar respuesta múltiple en base de datos
PHP
welchu 2 1,043 Último mensaje 14 Agosto 2018, 19:06 pm
por andystefano
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines