Select DISTINCT From Datatable Using C# Parte II

Existe siempre la necesidad de realizar un Select Distinct a un DataTable cuando las filas están repetidas. En esta ocasión les comparto una nueva solución en .Net C# que permite devolver los resultados con mas de una columna. 


using System.Data;

public DataTable SelectRowDisctinct(DataTable dtData, string sColumnName)
{
 try
 {                
  DataTable distintos = dtData.DefaultView.ToTable(true, sColumnName);
  DataTable dtNew = new DataTable();
  foreach (DataColumn dcName in dtData.Columns)
  {
   dtNew.Columns.Add(new DataColumn(dcName.Caption,dcName.DataType));
  }
   
  foreach (DataRow drRow in distintos.Rows)
  {
   dtNew.ImportRow(dtData.Select(sColumnName + " = '" + drRow[0] + "'")[0]);
  }
  return dtNew;
 }
 catch (Exception ex)
 {
  throw (ex);
 }
}

Espero les pueda servir, de un Select DISTINCT From Datatable Usando C#
Share:

ASP.NET: Diferencias entre Response.Redirect y Server.Transfer

Al desarrollar aplicaciones web en Visual Studio, a menudo utilizados los método Response.Redirect y Server.Transfer, muchas veces sin tener claridad que implicaciones tiene utilizar uno o el otro. En este post quiero (espero sea claro) explicar que son, ventajas y desventajas que pueden llegar a presentar cada uno, sin más preámbulos empecemos.

El método Redirect del objeto Response nos permite enviar al usuario a otra Url por ejemplo:

Response.Redirect("contenido/inicio.aspx")

Esto le indica al navegador que la pagina o recurso solicitado se encuentra en otro lugar de inicio.aspx, aquí el servidor web recibe la solicitud de cambio de dirección, se envía una cabecera de respuesta al usuario, a su vez se envía una devolución de nuevo al servidor, realizando una ida vuelta extra cerrando todos procesos que la página anterior podría estar utlizando, como por ejemplo cadenas querystring, variables, sesiones. Se recomienda evitar utilizarlo en sitios web muy grandes. Sin embargo, esta es la técnica utilizada para redirigir desde un servidor web a otro.

Al igual que el método anterior, el método Server del objeto Transfer, dirige al usuario a otra Url con la diferencia que realiza una ida y vuelta menos al servidor, ya que preserva el HttpContext de la pagina inicial, por lo que la pagina destino puede tener acceso a los recursos como variables, cadenas querystring de la página origen. Inconvenientes solo transfiere la ejecución a una página web en el mismo servidor.

Pueden utilizar ambos metodos en los casos que mas se ajusten a su desarrollo.
"" Si tienes dudas o quieras ampliar este artículo, lo puedes hacer dejando tus comentarios. Además, si lo consideras interesante puedes compartirlo con amigos y seguidores a través de los botones sociales que aparecen en esta página.""
Share:

Select DISTINCT From Datatable Using C#

Para un desarrollo tenia un inconveniente con un Datatable, el cual consistía en que los datos que tenia en ese momento se repetían, esto me ocasionaba inconsistencia en la presentación de la información.

Para esto necesitaba realizar un Select Distinct From muy parecido al que se realiza en Sql, pero usando C# o algo que me permitiera eliminar los datos repetidos en el Datatable, como solución realice la siguiente linea:

1. Declaro Datatable:
C#
DataTable dtDistinct = new DataTable();
VB
Dim dtDistinct As DataTable();

2. Realizo Distinct del Datatable dtAll que contiene los registros repetidos, por los campos que considero se repiten:
C#
string[] sColumnas = {"Campo1","Campo2"};
dtDistinct = dtAll.DefaultView.ToTable(true, sColumnas);
VB
String() sColumnas = "Campo1","Campo2"
dtDistinct = dtAll.DefaultView.ToTable(true, sColumnas)

Se obtiene el resultado de los registros sin duplicar, en el Datatable dtDistinct.

Ese fue un claro ejemplo de un Select DISTINCT From Datatable usando C#.
Share: