Well it could be time to learn how to debug, ie, set a break-point in code then single-step and also think about the code you have written ..
I'd say from a quick look, that
int Number = int.Parse(dr.GetString(0));
could be problematic, one would have to wonder why you're getting the number as a string (which the error messages is saying 'I cant do that') - then parsing it
.. If the column in the database IS numeric, let's assume an integer, then why not
int Number = (dr.GetInt32(0));
??
Also, if you're going to post question(s) about a database, did you not think to include a brief definition of the relevant table ?
Maybe you could also study whatever reference materials you have or google 'C# datareader' to see how to get columns of various data-types