Firstly, check the connections to the HDD. (disconnect/reconnect several times for a desktop, eject/reinsert for a laptop, to clean up the pins)
If that has no effect, get a bootable Linux distro (for example
), burn it to a CD, boot your PC from the CD and run Linux in "do not install, run from the CD" mode.
Use the system / partition editor to examine your HDD and check that your Windows "system" drive (Linux will flag it as "boot") is also marked "active" (that tells the MBR where to look for the boot files).
If the wrong partition is marked active, change it to the right one and boot again without the CD.