If you want to return multiple values from a single column then your stored procedure is wrong. You should not be using OUTPUT since it will only return a single value.
CREATE PROCEDURE _Proc(@id int)
AS
Begin
SELECT EventID from Table where ID = @id
End
You will then use a SqlDataReader to read the values returned by the stored procedure. This examples just adds the returned eventIds to a list.
int id = ????;
List<int> eventIds = new List<int>();
using (SqlConnection conn = new SqlConnection())
{
SqlCommand cmd = new SqlCommand("_proc", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@ID", id));
conn.Open();
using (SqlCommand command = new SqlCommand(queryString, connection))
{
using (SqlDataReader reader = command.ExecuteReader();)
{
while (reader.Read())
eventIds.Add(int.Parse(reader["EventId"].ToString()));
}
}
}
</int></int>