If you ever think you need to use a loop with SQL then think again!
What you need is something like (untested)
update A set DepositAmount = b.DepositAmount, checkORcash = b.checkORcash
from tableA A
left join tableB B on A.CID=B.CID
WHERE A.[month] = 'March'
Always remember that RDMS based databases (SQL databases) are "SET" based. You describe what you want to happen to a set of data, not a row at a time. This article (yes, it's mine) says everything I'm trying to say -
Processing Loops in SQL Server[
^]