Ir para conteúdo
Fórum Script Brasil
  • 0

Ado Vs. Ado.net


Denis Bittencourt Muniz

Pergunta

Fala galera!

Quando eu usava ADO nas minhas aplicações, eu criava um objeto do tipo 'Recordset'. Esse objeto tinha métodos de navegação entre os dados que são: 'MoveNext' (próximo registro), 'MovePrevious' (registro anterior), 'MoveFirst (primeiro registro) e 'MoveLast' (ultimo registro). No ADO.net só encontrei o método 'Read' (próximo registro) no objeto 'OleDbdataReader'.

Queria saber os outros métodos de navegação (ADO.net) que não conheço. São: Registro anterior, primeiro registro e ultimo registro.

P.S: Preciso fazer isso manualmente, pois não posso usar o componente BindingNavigator. Observação: Isso é para a melhor aprendizagem smile.gif .

Falows.net!

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Coloque os dados em uma DataTable (ou em um DataSet) e então você poderá acessar um registro específico por seu índice na coleção. Veja o exemplo abaixo:

  	DataTable dt = new DataTable();
  	DataRow registro;

  	OleDbConnection cn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\temp\\bd\\bd1.mdb");
  	cn.Open();
  	OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM cadastro", cn);
  	da.Fill(dt);

  	registro = dt.Rows[0]; // Primeiro registro (0)
  	MessageBox.Show(registro["Nome"].ToString());

  	registro = dt.Rows[1]; // Segundo registro (1)
  	MessageBox.Show(registro["Nome"].ToString());

ADO.NET não possui o conceito de ter um ponteiro apontando para o registro atual.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

  • 0

valeu Graymalkin.. Mas, uma dúvida: 'da.Fill(dt);'.. Para que serve? Estranho também, pois eu não aprendi a fazer conexões com "OleDbDataAdapter", e sim com "OleDbCommand".. Qual a diferença?

Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Mas, uma dúvida: 'da.Fill(dt);'.. Para que serve?

Serve para preencher (do Inglês, "fill") uma DataTable (uma única tabela) ou um DataSet (um conjunto de DataTables).

Estranho também, pois eu não aprendi a fazer conexões com "OleDbDataAdapter", e sim com "OleDbCommand".. Qual a diferença?

É possível criar um OleDbCommand e passá-lo para o OleDbDataAdapter também. A necessidade de utilização do OleDbDataAdapter ali no caso é preencher a DataTable. Ele é o responsável por "adaptar" os tipos de dados do banco de dados aos tipos de dados da .NET Framework.

Certo? wink.gif

Graymalkin

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,9k
×
×
  • Criar Novo...