You don't need a cursor; run this from the db you want to collect information on.
SELECT
sdp2.[name] as DBUser, sdp2.type_desc as DBUserType,
sdp1.[name] as DBUserRole, sdp1.type_desc as DBUserRoleType
FROM sys.database_role_members drm
LEFT JOIN sys.database_principals sdp1 on drm.role_principal_id=sdp1.principal_id
LEFT JOIN sys.database_principals sdp2 on drm.member_principal_id=sdp2.principal_id
ORDER BY
sdp2.name,sdp1.name