recorrer pasar llenar ejemplos ejemplo desde definicion declarar c# dataset datatable

llenar - pasar datatable a dataset c#



Datatable vs Dataset (7)

Actualmente uso una DataTable para obtener resultados de una base de datos que puedo usar en mi código.

Sin embargo, muchos ejemplos en la web se muestran utilizando un DataSet en su lugar y accediendo a las tablas a través del método de colecciones.

¿Hay alguna ventaja, en cuanto al rendimiento o no, de usar DataSets o DataTables como método de almacenamiento para resultados SQL?


Cuando se trata de una sola tabla de todos modos, la mayor diferencia práctica que he encontrado es que DataSet tiene un método "HasChanges" pero DataTable no. Sin embargo, ambos tienen un "GetChanges", por lo que puede usarlo y probar nulo.


Hay algunas optimizaciones que puede usar al llenar un DataTable, como llamar a BeginLoadData (), insertar los datos y luego llamar a EndLoadData (). Esto desactiva algunos comportamientos internos dentro de DataTable, como el mantenimiento del índice, etc. Consulte este artículo para obtener más detalles.


Realmente depende del tipo de datos que está trayendo de vuelta. Dado que un DataSet es (en efecto) solo una colección de objetos DataTable, puede devolver múltiples conjuntos distintos de datos en un solo objeto y, por lo tanto, más manejable.

En cuanto al rendimiento, es más probable que obtenga ineficiencia de las consultas no optimizadas que de la elección "incorrecta" de la construcción .NET. Al menos, esa ha sido mi experiencia.


Un objeto DataTable representa datos tabulares como una memoria caché tabular en memoria, de filas, columnas y restricciones. El DataSet consiste en una colección de objetos DataTable que pueden relacionarse entre sí con objetos DataRelation.


Una característica del DataSet es que si puede llamar a varias declaraciones select en sus procedimientos almacenados, el DataSet tendrá una DataTable para cada uno.


Una diferencia importante es que los DataSets pueden contener múltiples tablas y usted puede definir relaciones entre esas tablas.

Si solo está devolviendo un único conjunto de resultados, creo que una DataTable estaría más optimizada. Creo que tiene que haber algo de gastos generales (se le concede una pequeña) para ofrecer la funcionalidad que hace un DataSet y realizar un seguimiento de múltiples DataTables.


en 1.x solía haber cosas que DataTables no podía hacer que los DataSets podían (no recuerdo exactamente qué). Todo lo que se cambió en 2.x. Supongo que es por eso que muchos ejemplos todavía usan DataSets. Las tablas de datos deberían ser más rápidas ya que son más livianas. Si solo está obteniendo un único conjunto de resultados, es su mejor opción entre los dos.