Computer A: wallet.dat is corrupted, you should :
(found for windows)
1) create a folder named protoalt and keep it's path in mind
2)Copy all the files except your wallet.dat into the new folder
3) Create a .bat .sh to start the alternate you have created
3)start your client with -salvagewallet, this does exactly that.
4) once your wallet is recovered, start the alternate client, it will create a new wallet for you.
5) send coins to new wallet and use it as main one now.
Computer B: Database corruption, relaunch core with reindex=1 in bitcoin.conf and try it.