si, utilizzare una query o una SP non fa differenza, cambia solo un pochetto il codice che richiama il command SQL, ma per il resto è ok.
Infatti la SP che hai fatto mi pare corretta.

Ora non ho capito cosa ti manca, a vedere il codice mi sembra ci sia tutto.