Diferencia entre DataSet y DataTable

Comúnmente trabajamos utilizando datos en tablas, pero no siempre conocemos la diferencia entre DataSet y DataTable para saber cuál utilizar.

Es importante mencionar que al conocer ambos objetos podemos determinar cuál debemos utilizar en nuestro código.

¿Por qué?

Al utilizar el objeto indicado nos garantiza utilizar solo los recursos necesarios y mantener un buen rendimiento de nuestra aplicación.

DataTable

Un objeto DataTable es prácticamente una tabla de datos, el cual puede estar relacionado con otro DataTable.

DataTables

Anteriormente ya hemos visto como crear DataTables detalladamente, utilicemos el siguiente código para crear dos tablas.

DataTable dtTabla1 = new DataTable();
DataTable dtTabla12 = new DataTable();

Al llenar una de las tablas y vemos el visualizador de Datasets, podemos observar una única tabla con sus datos.

Vista DataTable

La estructura del código de acceso a los datos de las tablas es más corta, por ejemplo, obtener el nombre de la primera fila.

dtTabla1.Rows[0]["Nombre"].ToString();

Con tan solo especificar la fila y la columna podemos obtener la información.

Podría interesarte Consulta LINQ en un DataTable con C#  

DataSet

Un DataSet es un objeto que almacena n número de DataTables, estas tablas puedes estar conectadas dentro del dataset.

Diferencia entre DataSet y DataTable

La creación de un DataSet es similar al de un DataTable, con el código siguiente lo creamos.

DataSet dtsTablas = new DataSet();

El código anterior únicamente te crea la estructura, ahora veamos como agregarle tablas al objeto dataset.

Agreguemos los dos DataTables creadas con anterioridad al dataset.

dtsTablas.Tables.Add(dtTabla1);
dtsTablas.Tables.Add(dtTabla2);

Al probar el código y utilizar el visualizador de Datasets podemos observar las tablas almacenadas en el DataSet.

Diferencias de DataSet y DataTable

Para el acceso a los datos del dataset requiere de especificar el numero de la tabla de consulta, el numero comienza en 0 a n.

El código siguiente muestra el acceso a un dato del dtTabla2.

dtsTablas.Tables[1].Rows[0]["Nombre"].ToString();

La numeración de las tablas va de acuerdo con el orden de inserción.

Podría interesarte Cargar datos en GridView a partir de un DataTable en ASP.Net C#  

Conclusiones

Es posible observar que los dataset utilizan más recursos que un DaTatable, por lo tanto, ayuda en la velocidad de proceso.

Comúnmente e utilizan en consultas a base de datos, si estas consultas solo devuelven una tabla utiliza DataTables.

Por el contrario, si haces varias consultas a una base de datos, puedes hacer una sola consulta y guardar las tablas en un dataset.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *