Najpogosteje se uporabljajo v povezavi s predmeti DataReader, poleg tega pa so tudi osnovni gradniki predmeta DataAdapter. Ob pomoči predmeta DataReader se lahko na poseben način dostopa do podatkov zbirke podatkov, pri čemer se podatki prenašajo zaporedno, množico rezultatov povpraševanja (podatkovne vrstice) se lahko pregleduje le enkrat, v smeri od prvega do zadnjega podatka, vrednosti vrnjenih podatkov pa ni mogoče spreminjati. Torej gre za nekakšen »forward-only«, 'read-only' podatkovni tok.