sábado, 15 de abril de 2017

Obtener una cadena de conexión de la webconfig

Ahora veremos como acceder a una cadena de conexión que hemos definido en la webConfig de nuestra aplicación.

Primero debemos registrar nuestra cadena de conexión en el webConfig. Al abrir el archivo vamos a la sección buscamos la sección y dentro de esta sección definimos nuestra cadena de conexión, tal como se muestra a continuación:

 
   
 


Si no sabes como armar tu cadena de conexión, dale un vistazo al siguiente link:
http://neobject.blogspot.mx/2012/09/cadena-de-conexion-sql.html

Posteriormente, iremos a nuestro clase o pantalla donde utilizaremos nuestra cadena de conexión.

Hay que asegurarnos de tener la siguiente referencia, y si no la tenemos debemos agregarla:
using System.Configuration;

Finalmente, accedemos a nuestra cadena de conexión de la siguiente manera:
ConfigurationManager.ConnectionStrings["ConnDB"].ConnectionString;

ne...

sábado, 8 de abril de 2017

Filtrar un DataTable utilizando Linq

Ahora veremos como filtrar la información de un DataTable utilizando Linq.

Para nuestro ejemplo tendremos un DataTable llamado dtUsuarios que tiene tres columnas: Nombre, Edad y Sexo.

Ejemplo 1. Obtiene el listado de hombres

Para utilizar Linq sobre un DataTable primero tendremos que convertirlo en una colección de DataRows de la siguiente manera:
dtUsuarios.AsEnumerable()

Posteriormente utilizamos expresiones lambda para filtrar los datos:
dtUsuarios.AsEnumerable()
.Where(usuario => usuario.Field("Sexo").Equals("H"));

Esto nos regresa una variable de tipo IEnumerable la cual contiene el arreglo de DataRow que cumplen la condición.

Ejemplo 2. Obtener el listado de alumnos mayores a 18 años

De forma similar, podemos buscar utilizando operadores mayor que, menor que, igual que, etc. :
dtUsuarios.AsEnumerable()
.Where(usuario => usuario.Field("Edad") > 18);


Ejemplo 3. Obtener el listado de alumnos llamados Guadalupe y que sean mujer

También podemos utilizar varios operandos dentro de la misma condición:
dtUsuarios.AsEnumerable()
.Where(usuario => usuario.Field("Nombre").Equals("Guadalupe")
&& usuario.Field("Sexo").Equals("M"));

ne...