Transações podem ser vistas como um grupo de operações combinadas em uma unidade lógica de trabalho ; são usadas para controlar e manter a consistência e a integridade de cada ação em uma transação a despeito dos erros que poderão ocorrer no sistema.
O objeto DataReader pode ser usado para ler os dados retornados pelos objetos Command. Ele permite acessar e percorrer os registros no modo de somente leitura e somente para frente - forward-only. O DataReader não oferece acesso desconectado e não permite alterar ou atualizar a fonte de dados original , sendo usado para obter rapidamente dados de apenas leitura. Apresenta poucos recursos mas seu desempenho é muito melhor do que o oferecido pelo objeto DataSet.