I have had bad luck with CO2. If you don't get it right, you waste the CO2 and still have a flat. Small hand held pumps aren't that great, the most i could get was 70 psi on them. Also they tend to jerk around the valve and I broke a few valves. I ended up getting the Topeak Morph, which is a great pump. It is big, but you can easily get your tire to 120psi.
The most important thing not to have flats is to always pump up your tires before you leave. If you usually leave your tires at 100psi, you must everyday before you leave pump them back to 100psi. You can easily lose 3-5 psi in one day and you will get pinch flats. It is funny how just 10psi can make a tremendous difference. Also if you get a flat you have to make sure to run a piece of cloth around the inside of the tire and remove any glass shreds etc. If you don't do this, the reason why you got flat number 1 will keep giving you flats until it is removed. Inspect your tire carefully once you have a flat removing any glass that is embedded in the outside of the tire. Don't change tires in a rush take your time or you will easily get a new flat.