You are fetching all records when the button is pressed (because you used a cursor), but your items are empty because you are calling the ‘next_record’ built-in procedure after fetching each record, and when you are at the last one this creates a new (blank) record. Try navigating backwards and you will see all previous recrods on the screen.
If you want to retrieve only one record, you should use a simple SELECT statement instead of a cursor. Something like this:
INTO :emp.a, :emp.b, :emp.c