Você está aqui: C# ::: C# + Bancos de Dados ::: DbDataReader |
Entendendo as classes DbDataReader, OdbcDataReader, OleDbDataReader, SqlDataReader e outras derivaçõesQuantidade de visualizações: 11298 vezes |
A classe DBDataReader é usada para ler dados obtidos a partir de um comando SQL. Esta classe é abstrata, e, portanto, nunca usada diretamente em nossos códigos. Em vez disso usamos OdbcDataReader, OleDbDataReader, SqlDataReader e outras classes derivadas de DbDataReader. Veja sua posição na hierarquia de classes da plataforma .NET:System.Object System.MarshalByRefObject System.Data.Common.DbDataReader Entre as classes derivadas de DbDataReader podemos citar System.Data.DataTableReader, System.Data.Odbc.OdbcDataReader, System.Data.OleDb.OleDbDataReader, System.Data.OracleClient.OracleDataReader, System.Data.SqlClient.SqlDataReader, System.Data.SqlServerCe.SqlCeDataReader e MySql.Data.MySqlClient.MySqlDataReader (no driver .NET do MySQL). É claro que há muitos drivers de bancos de dados para .NET que também optam por descender seu DataReader de DbDataReader. O objetivo principal da classe DbDataReader é fornecer uma forma de navegar os registros retornados como resultado de um comando SQL. Esta navegação é apenas para frente, ou seja, não é possível voltar para os registros já lidos. Veja um trecho de código no qual usamos um objeto da classe OdbcDataReader para percorrer todos os registros contidos em uma determinada tabela do banco de dados. Note que exibimos o nome de cada cliente em uma mensagem MessageBox: private void button1_Click(object sender, EventArgs e){ // obtém a conexão com o banco de dados OdbcConnection conn = ConexaoODBC.obterConexao(); if(conn != null){ // obtém todos os clientes cadastrados OdbcCommand cmd = new OdbcCommand("SELECT * FROM clientes", conn); // obtém os dados retornados em forma de DataReader OdbcDataReader dr = cmd.ExecuteReader(); // vamos exibir o nome de cada cliente encontrado Se estiver usando SQL Server, o DataReader a ser usado é SqlDataReader. Para finalizar, observe que um DataReader é criado sempre como resultado do método ExecuteReader() da classe DbCommand (e suas classes derivadas), ou seja, não é comum chamar o construtor desta classe. |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |