How many bits are in a Bitcoin? I need to track an amount of Bitcoins in a database.  Is a UINT64 sufficient?

I'd rather not deal with floating point types, and the rounding errors they end with.
yes, UINT64 is sufficient, which is in fact how the Bitcoin protocol works internally. The conversion factor from UINT64 to BTC is 1.0e8.

Not using floating point numbers is a very good idea indeed.