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 ArchivoAqui 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