varbinary... ayuda!!!

Iniciado por MANULOMM, 24 Diciembre 2007, 17:35 PM

0 Miembros y 1 Visitante están viendo este tema.

MANULOMM

hola estoy haciendo un app en c# con sql server 2005 y necesito implementar campos de tipo varbinary alguien sabe como los debo de implementar.

Atentamente,

Juan Manuel Lombana
Medellìn - Colombia


MANULOMM

#1
Listo!!! despues de mucho intentar y buscar en internet lo he hecho... para este caso lo hice con un SQL Server 2005 Compact Edition...
El Code es Asi:

Conversion del archivo a binario.
se obtiene la ruta del archivo a guardar en la bd, se convierte a binario (guardandolo en un array de bytes) y se hace un insert en la base de datos en la cual uno de los campos de la tabla sea un varbinary, a este se le asigana el array de bytes

            string RutaArchivo = "RUTA DEL ARCHIVO";
            FileStream Ruta = new FileStream(RutaArchivo,FileMode.Open,FileAccess.Read);
            byte[] binario = new byte[Ruta.Length];
            Ruta.Read(binario, 0, Convert.ToInt32(Ruta.Length));
            Ruta.Close();
            //aqui abajo hacemos el insert normalmente... pasando como parametro para el varbinary la variable binario


Conversion del Binario a Archivo
Aqui se obtiene de la bd con una consulta el campo varbinary (para mi caso la tabla se llama Archivos y el campo varbinary se llama archivo), hacemos la consulta y obetenemos varbinary este lo hacemos igual a un array de bytes asi.

            byte[] bin = _MyDatabase_1DataSet1.Archivos[0].Archivo;// aqui hago igual el varbinary obtenido en una consulta (hecha anteriormente) y lo igual a un array de bytes
            FileStream Ruta = new FileStream(textBox1.Text,FileMode.Create,FileAccess.Write);
            Ruta.Write(bin, 0, Convert.ToInt32(bin.Length));
            Ruta.Close();

y listo, si no entienden algo solo me lo dicen....

NOTA:
el campo varbinary tiene una restriccion de 8000 bytes, quien necesite mas debe de hacerlo con SQL Server y con VarBinary(MAX).
Atentamente,


Juan Manuel Lombana
Medellìn - Colombia