There are so many things there it's difficult to know where to begin...
Congratulations on using Paramaterised queries! You got that right - well done.
But...
Parameters.Add was depreciated many years ago in favour of AddWithValue:
cmdselect.Parameters.AddWithValue("@Username", Username)
Why are you faffing about with an output parameter, (or even a stored procedure) when all you are interested in is a number?
SELECT COUNT(*) FROM Log_Users WHERE Username = @Username AND [Password]= @Upassword)
and call ExecuteScalar which will return you the number of matching records as an integer directly.
And the big one: Never store passwords in clear text - it is a major security risk. There is some information on how to do it here:
Password Storage: How to do it.[
^] (it's in C#, but it's easy to understand and translate)