Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema insertando Imagen a Base datos

Estas en el tema de Problema insertando Imagen a Base datos en el foro de .NET en Foros del Web. Hola estoy tratando de guardar una imagen en la base de datos (ya se no se recomienda) pero recibo el siguiente error: Error 1 Operator ...
  #1 (permalink)  
Antiguo 18/04/2010, 10:41
Avatar de Highlander  
Fecha de Ingreso: junio-2006
Ubicación: Concepción, Chile
Mensajes: 475
Antigüedad: 17 años, 10 meses
Puntos: 4
Problema insertando Imagen a Base datos

Hola estoy tratando de guardar una imagen en la base de datos (ya se no se recomienda) pero recibo el siguiente error:

Error 1 Operator '&' is not defined for types 'String' and '1-dimensional array of Byte'.

El error corresponde a la variable donde tengo la imagen (MyData) cuando hago el insert:

Codigo donde convierto la imagen a bytes
Código:
Dim fs As New FileStream(Busca_Archivo.FileName, FileMode.OpenOrCreate, FileAccess.Read)
        Dim MyData(fs.Length) As Byte
        fs.Read(MyData, 0, fs.Length)
        fs.Close()
Codigo insert donde se produce el error:
Código:
Dim sql_paciente As String = "INSERT INTO Paciente ([Nombre], [Imagen] ) VALUES('"& lsNombre & "'"','" & MyData & "')"

Cualquier sugerencia se agradece, saludos.

PD: El campo de la base de datos donde va la imagen es de tipo image.
__________________
Ingeniero (E) en Computación e Informática
The last man alone with god.
  #2 (permalink)  
Antiguo 20/04/2010, 15:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 35
Antigüedad: 14 años, 2 meses
Puntos: 1
Respuesta: Problema insertando Imagen a Base datos

Para binarizar una imagen e insertarla a una Bd, yo uso la siguiente clase:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.IO;

namespace BinarizacionImagenes
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
try
{
Image imagenProcesando = new Bitmap(Application.StartupPath + "/Imagenes/baja.png");
MemoryStream memStream = new MemoryStream();
imagenProcesando.Save(memStream, System.Drawing.Imaging.ImageFormat.Png);
Byte[] dibujoByteArray = memStream.GetBuffer();

SqlConnection conn = new SqlConnection("Data Source=LUISVELAZQUEZ;Initial Catalog=SolicitudServicios;Integrated Security=True");
conn.Open();
SqlCommand statement = new SqlCommand("insert into ImagenesPrioridad(imagenBinarizada,nombreImagen) values (@imagen,'Baja')", conn);

statement.Parameters.AddWithValue("@imagen", dibujoByteArray);

MessageBox.Show(statement.ExecuteNonQuery().ToStri ng() + " filas fueron afectadas");
conn.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.ToString());
}
}
}
}

Es totalmente funcional, solo tienes que migrarlo a VB pero ps es sencillo,

Nota: para que funcione, las imagenes a binarizar deben de estar en la carpeta bin/Debug...

Suerte!

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:56.