If you are using SQL server then you don't need a cursor as output. you can directly return the recordset.
not sure why you need explicit cursor as output.
PROCEDURE [dbo].[get_user_pern]
(@p_user nvarchar(200) , @p_pass nvarchar(50))
AS
SELECT *
FROM users_hor
where user_names=@p_user and passwords=@p_pass;
go
you can retreive this in dataset or datereader..