Wow sweetie let him cry for three hours is a lot of crying and it is not working. I suggest a couple of things.
Put his crib in your bedroom, he might have had a few nightmares and woken up alone which can be scary, eventually when he sleeps through the night you can put his bed back into his room gradually.
Also before you go to sleep (night #1) make a big party it is the sleeping all night party where you give him a gift of a sleep all night companion a teddy bear or something very soft and cuddly. Explain to him exactly what you are doing and why in plane but intelligent terms.
When he wakes up go to him immediately and remind him of the cuddly sleeping bear and how your baby is waking him up. Calm him down without picking him up and go back to sleep. Repeat steady for as many times as you have to (don't let your baby cry so long) but increase the times in between going there (5 mn - 10 mn - 15 mn- 30 mn)
When he sleeps in longer stretches reward him big time like pick him up and give him a big kiss tell him you are so happy he slept that long. The put him back down and give him his sleep bear and tell him you want to see how much longer he can seep yet!!!!
Even if he gives you a short hour, make a big deal again when he wakes up.
I know this sounds like a lot of work, but remember you did not learn how to ride on a two wheel bike overnight a new behavior takes a little time but big rewards.
Hope this helps