Enviar un null a un procedimiento almacenado C#

Supongamos que en este ejemplo que a la variable «sistema» se le puede enviar un valor null.

la forma correcta es enviar un DBNull
sqlparam[1].Value = DBNull.Value;
y no
sqlparam[1].Value = null;

por ejemplo.

    public DataSet ListaUsuarios(string rut,string sistema)
    {
        SqlParameter[] sqlparam = new SqlParameter[2];
        sqlparam[0] = new SqlParameter("@rut", SqlDbType.VarChar, 10);
        sqlparam[0].Value = rut;

        sqlparam[1] = new SqlParameter("@Sist", SqlDbType.VarChar, 50);
        if (sistema.Trim() != "") {
            sqlparam[1].Value = sistema;
        }else{
            sqlparam[1].Value = DBNull.Value;
        }

        return ExecuteProcedureSqlServerToDataSet("SpListaUsuarios", sqlparam);
    }

También te podría gustar...