Or, instead of using the roles, you could GRANT SELECT, INSERT, UPDATE on the database instead.
Make sure that the login is not sysadmin, the user is not db_owner and you're not logged in as that user. All of those will cause the permissions to fail.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability