c# - variable - Valor nulo en un tipo de datos varbinary de parámetro
validar null en c# (5)
prueba esto :
mySqlCommand.Parameters.AddWithValue("@Image", new byte[]{});
¿Cómo puedo agregar un valor nulo en un parámetro varbinary datatype?
Cuando ejecuto el siguiente código:
using (SqlConnection myDatabaseConnection1 = new SqlConnection(myConnectionString.ConnectionString))
{
using (SqlCommand mySqlCommand = new SqlCommand("INSERT INTO Employee(EmpName, Image) Values(@EmpName, @Image)", myDatabaseConnection1))
{
mySqlCommand.Parameters.AddWithValue("@EmpName", textBoxEmpName.Text);
mySqlCommand.Parameters.AddWithValue("@Image", DBNull.Value);
myDatabaseConnection1.Open();
mySqlCommand.ExecuteNonQuery();
}
}
Obtengo la siguiente System.Data.SqlClient.SqlException
:
La conversión implícita del tipo de datos nvarchar a varbinary (max) no está permitida. Use la función CONVERTIR para ejecutar esta consulta.
lo hago así sin ningún problema
SqlParameter image= new SqlParameter("@Image", SqlDbType.VarBinary, System.DBNull.Value);
mySqlCommand.Parameters.Add(image);
Puedes probar algo como esto:
cmd.Parameters.Add( "@Image", SqlDbType.VarBinary, -1 );
cmd.Parameters["@Image"].Value = DBNull.Value;
No sé la razón por la cual "DBNull.Value" no funciona para mí. Y descubro que otra solución puede resolver este problema.
cmd.Parameters["@Image"].Value = System.Data.SqlTypes.SqlBinary.Null;
sqlCommand.Parameters.AddWithValue("@image", SqlBinary.Null);