Saltar al contenido

¿Cómo inserto un byte?[] En una columna VARBINARY de SQL Server

Si hallas algún fallo con tu código o trabajo, recuerda probar siempre en un entorno de testing antes añadir el código al proyecto final.

Solución:

Prueba esto:

"0x" + BitConverter.ToString(arraytoinsert).Replace("-", "")

Aunque realmente debería estar usando una consulta parametrizada en lugar de string concatenación por supuesto…

Mi solución sería usar una consulta parametrizada, ya que los objetos de conectividad se encargan de formatear los datos correctamente (lo que incluye garantizar el tipo de datos correcto y escapar de los caracteres “peligrosos” cuando corresponda):

// Assuming "conn" is an open SqlConnection
using(SqlCommand cmd = new SqlCommand("INSERT INTO mssqltable(varbinarycolumn) VALUES (@binaryValue)", conn))

    // Replace 8000, below, with the correct size of the field
    cmd.Parameters.Add("@binaryValue", SqlDbType.VarBinary, 8000).Value = arraytoinsert;
    cmd.ExecuteNonQuery();

Editar: se agregó la declaración de “uso” de envoltura como lo sugirió John Saunders para desechar correctamente el SqlCommand después de que haya terminado con

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *