OxyClean has worked the best for me for those situations, but then I have not used the other products mentioned above. I just mix some in with warm water and squirt it on the carpet, let it soak a bit, then mop it up and repeat until the stain is gone. A few weeks ago, Tommy had an upset tummy and threw up all over the carpet in the hallway, which is a lighter colored carpet. What an icky mess and quite a stain too, but with a few applications of the OxyClean it got it all out.

Then for the odor I use one of those spray odor neutralizers or a Citrus air freshener really helps too.

Good luck! I sure hope poor Brock is feeling better.