Output parameters are only used in the parameter list of the stored procedure. Because of this you only get a single value for each stored procedure call. Sounds like what you are doing is returned as the result set. I do not believe you are using the output parameter correctly. Could you provide an example of the sql server stored procedure you are calling.
indicates that the stored procedure you are calling, returns a single VARCHAR value. However, according to your description, I understand that the stored procedure returns a result set. Therefore, I believe that the above line (of your code) is incorrect, and hence causing your problem.
I don't use SQL Server, so I can't tell you what the correct type should be. But I am almost certain that there must be some sample code or documentation available from the Microsoft Web site that will show you the correct type to use.