I'm just using this one as an example only, it's not the problem. The error message you got basically says that one of your parameters is null or nothing, and that a valid value is required in order to convert the value to a qualified parameter.
prmUsername.Value = user.Address; <- One of these values is null or nothing in your list of parameters, or is the wrong format for nvarchar.
If you wrap your code in the try, catch, you can trap the sql exception message, and it will tell you which parameter is the issue. catch ex as sqlexception