Imagen en SQL Server 2008 desde VB.NET

Master_0n3

Hola amigos!

De nuevo vengo con una pregunta de Visual Basic .NET.

Mi pregunta es:

Como puedo subir una imagen a una base de datos SQL Server 2008?

He mirado por internet y veo ejemplos bastante complicado y queria preguntar aqui si alguien conoce alguna forma sencilla de hacerlo.

Mi caso es el siguiente:

Tengo un formulario de registro de empleados en el cual quiero recoger una serie de datos: Nombre, apellidos, etc... y tambien recoger una imagen propia de la persona, pero el problema es que no se hacerlo... Tengo un TextBox donde aparecera la ruta donde esta la imagen en mi pc, previamente dandole click al tipico boton de "Examinar" que es un OpenFileDialog... Entonces con la ruta de la imagen quiero saber como subir dicha imagen a la base de datos... Alguien tiene idea de como hacerlo? Os lo agradeceria un monton xD.

Si no se entiende lo que he explicado decirmelo y lo intentare poner un poco mejor redactado.

Saludos y gracias de antemano!

0buS

http://www.codeproject.com/KB/web-image/PicManager.aspx

No es esto lo que buscas? yo lo veo simple.

Master_0n3

Eso es ASP.NET no?

Yo esque lo necesito hacer en VB.NET =)

NeB1

Puedes pillar la ruta de la imagen, leer los bytes del archivo, almacenarlos en una variable, aplicarle base64 encode, y guardar el resultado en la base de datos :S

Master_0n3

Interesantemente complicado xd

B

las imagenes se guardan en un campo BLOB, sabiendo eso y poniendo vbnet blob en google te sale:
http://support.microsoft.com/kb/308042/es
http://support.microsoft.com/kb/258038
http://www.databasejournal.com/features/mssql/article.php/3802241/Working-with-FILESTREAM-using-VB-NET.htm

Soltrac

Graba la imagen a un Bitmap, de un bitmap a un memorystream y luego el memorystream a byte[]. Para sacarla haz lo contrario.

Como no se tu nivel te pongo un ejemplo en c# for dummies:

using (Bitmap bmp = Bitmap.FromFile("C:\pepe.jpg"))
{
using (MemoryStream ms = new MemoryStream())
{
bmp.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);

// Guardar en base de datos memoryStream.ToArray();
}
}

Y para sacarlo:

byte[] bytes = blablabla // aquí lo cojo de la base de datos
using (MemoryStream ms = new MemoryStream(bytes))
{
using (Bitmap bmp = new Bitmap(ms))
{
// Hago lo q me salga del nabo con bmp
}
}

Usuarios habituales