Ruslan has a good post comparing performance of ResultSets and other data access options