Hi and welcome Beckie!
The grainy problem you're facing is quite common. In digital photography, these randomly-spaced speckles are called "noise." We have some information at the main site about the cause and prevention of noise, which can, more often than not, be removed using software. There are some very effective noise removal programs such as the free, home edition of Neat Image.
In many cases, even though you have noise in an image, it will not be visible in small sized prints (4x6," 5x7").
Take a peek here:
http://www.digicamhelp.com/what-is-digital-image-noise/index.htm