c# - tables - Datatable vs Dataset




how to create a datatable c# (5)

Existem algumas otimizações que você pode usar ao preencher uma DataTable, como chamar BeginLoadData (), inserir os dados e chamar EndLoadData (). Isso desativa algum comportamento interno no DataTable, como manutenção de índice, etc. Consulte este artigo para obter mais detalhes.

Atualmente, uso um DataTable para obter resultados de um banco de dados que posso usar no meu código.

No entanto, muitos exemplos na Web são exibidos usando um DataSet e acessando as tabelas por meio do método de coleções.

Existe alguma vantagem, em termos de desempenho ou não, de usar DataSets ou DataTables como método de armazenamento para resultados SQL?


Quando você está lidando apenas com uma única tabela, a maior diferença prática que encontrei é que o DataSet possui um método "HasChanges", mas o DataTable não. No entanto, ambos têm um "GetChanges", para que você possa usá-lo e testar se é nulo.


Um objeto DataTable representa dados tabulares como um cache tabular na memória, de linhas, colunas e restrições. O DataSet consiste em uma coleção de objetos DataTable que você pode se relacionar com objetos DataRelation.


Um recurso do DataSet é que, se você pode chamar várias instruções de seleção nos procedimentos armazenados, o DataSet terá um DataTable para cada um.


no 1.x, costumava haver coisas que o DataTables não podia fazer e que os DataSets podiam (não se lembra exatamente o que). Tudo isso foi alterado na 2.x. Meu palpite é que é por isso que muitos exemplos ainda usam DataSets. As DataTables devem ser mais rápidas, pois são mais leves. Se você está apenas obtendo um único conjunto de resultados, é sua melhor escolha entre os dois.





datatable