You have to use the same salt with each user. So generate salt for user1, let's say "salt1". You then add that to their password and hash it then store the salt and the hashed result; hash(salt + pwd) (let's say it's ABCDEFG)
UserID, Username, Salt, Hash
1, user1, salt1, ABCDEFG
When that user logs in you read their salt from the database and add it to the password they supplied in the password box and hash it to see if it matches the stored hash.
GenerateHash(dr["Salt"] + textBox2.Text)
What your code is doing is generating new salt each time so if you salt user1's password with "salt1" when they create their account then when they log in salt it with salt2 then the resulting hashes won't match as
hash("salt1" + "password") <> hash("salt2" + "password")
If you google there are articles that show you how to do all of this.