System.InvalidCastException (comments) is not "empty" - it is an invalid cast. So presumably the data isn't a
float; it could be
double, or - and I suspect this is the case:
decimal. Note that
decimal is a much better choice for numbers that represent money.
So: find out which it is, and use the correct cast. I suspect that this will work:
decimal accountBalance = (decimal)dataReader["Balance"];
You can also use the various methods on
Convert to be more forgiving, i.e.
decimal accountBalance = Convert.ToDecimal(dataReader["Balance"]);