You're misusing the single quote signs. They should be used for string literals - not for numbers and definitely not for variables.
So what it boils down to is:
- you should use the variables as
@variable
- you should pass string values with quote as
'string'
- you should pass number values without quotes as
1.2345
Therefore, your procedure should insert the values like this:
INSERT INTO DataImage VALUES (@username, @picture, ...)
... and you should execute the procedure like so:
EXEC addlocal 'us1', ..., 123445555.2345
To do some more research on this matter, check the following documentation: