Sigueme en Twitter
AJDev.net en Facebook
AJDev.net en Facebook
Traducir
Mapa de Visitas
Locations of visitors to this page

Hemos llegado al final de este mini tutorial, por tanto le muestro los enlaces a los Capítulos Anteriores.:

Link al Capitulo I: Tutorial- Crear una Aplicacion Web – Principiantes

Link al Capitulo II: Tutorial- Crear una Aplicacion Web – Principiantes Parte II

Link al Capitulo III: Tutorial- Crear una Aplicacion Web - Principiantes Parte III

En este punto se tratara con LINQ para así mostrarle lo último en tecnología ya que se nos aproxima VS2010 y hay muchas cosas más interesante que se debería mostrar J

LINQ (Lenguage INtegrated Query), es una tecnología bastante interesante en ella podemos establecer consultas de manera directa a la base de datos partiendo de un simple query, debemos tener en cuenta que no solo base de datos podemos hacer esto si no también a objetos (LINQ to Objects), XML (LINQ to XML), Entidades y otros manejadores (LINQ to ADO.net), por ello LINQ se fortalece cada vez mas permitiendo tener una especie de lenguaje único de consulta para las diferentes formas de obtención de datos.

La definición de la Librería MSDN lo define de esta manera: Language-Integrated Query (LINQ) es un conjunto de características en Visual Studio 2008 que agrega eficaces capacidades de consulta a la sintaxis de los lenguajes C# y Visual Basic. LINQ incluye patrones estándar y de fácil aprendizaje para consultar y actualizar datos, y su tecnología se puede extender para utilizar potencialmente cualquier tipo de almacén de datos. Visual Studio 2008 incluye ensamblados de proveedores para LINQ que habilitan el uso de LINQ con colecciones de .NET Framework, bases de datos de SQL Server, conjuntos de datos de ADO.NET y documentos XML.”

Como hemos venido trabajando en el este tutorial vamos a agregar a nuestro sitio web un nuevo Elemento->Clases de LINQ to SQL el cual lo he llamado dcAdventureWorks.dbml debido a que estaremos utilizando la base de datos AdventureWorks así como resalto en la siguiente imagen.

image

Luego de dar aceptar nos debe aparecer la siguiente pregunta al cual le daremos a la Opción SI.

image

Luego nos saldrá un espacio en blanco donde nos pide ver el Explorador de Servidores o el cuadro de herramientas y así poder arrastrar los objetos (que para nuestro caso serian las tablas de la base de datos AdventureWorks) que deseamos ver en nuestro DataClases por ello seleccionaremos Explorador de Servidores y en el deben aparecer listado los Servidores de base de datos que se encuentren configurado de otras aplicaciones J de estar vacía que es la forma más tradicional de verlo entonces haremos los siguientes pasos para visualizar nuestra base de datos.

1.       Seleccionaremos el icono amarillo con forma de base de datos y un + en la parte superior como se indica en la imagen siguiente, esto es para conectarnos al servidor de base de datos.

image

2.       Aparecerá un cuadro como muchas maneras de conectarnos a la base de datos y por ello debemos seleccionar la siguiente. Si es de su preferencia puede dejar la casilla “Utilizar siempre esta selección” por si siempre utilizara esa manera para conectarse a una fuente de datos.

image

3.       Si se ha equivocado al momento de seleccionar el Origen de datos (Paso anterior) puede reajustar la selección con darle al botón Cambiar (ver la siguiente imagen), se la selección es la correcta usted debe indicar el nombre del servidor de SQL Server donde está la base de datos a utilizar en mi caso estoy usando un Motor de SQL Server 2005 Developer Editions y por ello mi Nombre servidor es (local)\SQL2005 en sus casos si está utilizando la versión Express seria de la siguiente manera (local)\SQLExpress, luego según las características que hallas definido al momento de instalar el servidor de base de datos pudieras usar una autenticación de modo Windows o de Modo SQL Server y de allí puedas seleccionar tu base de datos.

image

Nota: por si no sabes quién es (local) vendría siendo tu maquina por lo que en vez de usar (local) pudieras utilizar el nombre de tu Maquina, el \ServidorSQL seria la instancia donde fue instalado el servidor de base de datos, es decir seria esta nomemblecatura: {TUMAQUINA\INSTANCIA_SERVIDOR_SQL}. Te recomiendo hacer una prueba de conexión antes de darle aceptar para validar que te puedes conectar sin problemas.

4.       Ahora seleccionaremos todas las tablas de la base de datos o sencillamente podemos usar las tablas que usaremos para el tutorial y luego de seleccionarlas la vamos arrastrando al DataClases donde las tablas son StateProvince y CountryRegion.

image

Nota: Fíjense la sección remarcada, allí arrastraríamos los StoreProcedures y Funciones que estén definidos en la base de datos lo cual en código podremos invocarlos como Métodos, mientras las tablas la invocaremos como Clases.

Ya con esos puntos podemos empezar a lanzar código J, pero antes de empezar debo explicarle como es la sintaxis de LINQ para que así puedan seguirme, sé que es mucho bla bla bla pero créanme es lo correcto. La sintaxis tradicional y quizás la más utilizada de LINQ es la siguiente:

image

La forma de trabajar con LINQ es englobando la consulta y almacenando todo en una variable de tipo “var” (en C# y en VB es DIM sin la asignación de tipo de datos), veamos como se ve lo mostrado en la imagen anterior en código:

C#:

        var consulta = from country in db.CountryRegion

                       select country;

VB:

Dim consulta = From country In db.CountryRegion Select country

Lo que equivale a una consulta al estilo SQL:

Select * From Person.CountryRegion

Si lo ven no es tan difícil al contrario nos facilita el poder manejar objetos, xml y otros fuentes de datos basándonos en un solo esquema, facilitándonos y/o ahorrándonos el tener que aprender cómo obtener los datos y cuál sería su sintaxis J.

Como si eso no fuese todo también podemos hacer consultas a la base de datos como si fuesen métodos así como se muestra en el ejemplo siguiente:

C#:

var consulta = db.CountryRegion;//.Select(c => new { c.Name, c.StateProvince });

VB:

Dim consulta = db.CountryRegion

Es decir que quedaria como la siguiente imagen J:

image

Aquí le dejo otra imagen para notar la forma como se realiza las consultas con LINQ con ambos lenguajes (VB y C#) y que el Visual Studio 2008 nos brinda todo el soporte necesario.

image

Ahora teniendo claro la forma de realizar consultas en LINQ podremos comenzar con agregar una nueva página seleccionando la MasterPage creada en los capitulos anteriores y la llamaremos infoCountryRegion.aspx en el solo tendremos el GridView que llamaremos gvCountryRegion y le asignaremos en su propiedad el SkinID=”SkinGridView” que mostrara los datos arrojados de las consultas que realizaremos a la tabla CountryRegion.

En la hoja de código del formulario web (infoCountryRegion.aspx.cs) vamos a crear un método que llamaremos “LlenarGrid()” dicho método nos servirá para llenar el GridView la carga de la pagina en futuras mejoras al gridview como la paginación y selección de filas.

C#

    /// <summary>

    /// Metodo que usaremos para extaer la informacion de la Base de Datos y llenar el GridView 

    /// </summary>

    private void LlenarGrid()

    {

        //Obtenemos la cadena de conexion del archivo de configuracion (Web.config)

        //Y lo alamcenamos en una variable de tipo string

        string sConfig = ConfigurationManager.ConnectionStrings["AdventureWorksConnectionString"].ConnectionString;

        //Declaramos un tipo DataContext a partir del DataClases que agregamos al proyect y le

        //pasamos en el parametro la cadena conexion almacenada en la variable sConfig

        dcAdventureWorksDataContext db = new dcAdventureWorksDataContext(sConfig);

        //Se construye la Consulta simple para extraer datos de la Tabla CountryRegion

        var consulta = from c in db.CountryRegion

                       select c;

        //Lugar donde mostraremos la informacion consultada a la tabla

        gvCountryRegion.DataSource = consulta;

        gvCountryRegion.DataBind();

    }

VB

''' <summary>

    ''' Metodo que usaremos para extaer la informacion de la Base de Datos y llenar el GridView

    ''' </summary>

    Sub LlenarGrid()

        'Obtenemos la cadena de conexion del archivo de configuracion (Web.config)

        'Y lo alamcenamos en una variable de tipo string

        Dim sConfig As String = ConfigurationManager.ConnectionStrings("AdventureWorksConnectionString").ConnectionString

        'Declaramos un tipo DataContext a partir del DataClases que agregamos al proyect y le

        'pasamos en el parametro la cadena conexion almacenada en la variable sConfig

        Dim db As dcAdventureWorksDataContext = New dcAdventureWorksDataContext(sConfig)

        'Se construye la Consulta simple para extraer datos de la Tabla CountryRegion

        Dim consulta = From country In db.CountryRegion Select country

        'Lugar donde mostraremos la informacion consultada a la tabla

         gvCountryRegion.DataSource = consulta

         gvCountryRegion.DataBind()

    End Sub

Mientras que en el Page_Load de la página escribiremos la invocación del método recién creado colocando una validación de que la Página sea diferente a un PostBack por lo que quedaría  así en el siguiente código:

C#

    protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            LlenarGrid();

        }

  }

VB

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        If (IsPostBack = False) Then

            LlenarGrid()

        End If

    End Sub

Ahora debemos ubicarnos en el GridView y en sus propiedades ubicaremos la que dice “AllowPagin” y lo cambiamos a “True” (su Paginación de manera predeterminada es de 10 registro si gustan pueden cambiar este valor en la propiedad PageSize) luego manteniendo aun seleccionado el GridView nos ubicamos en la sección de Eventos y le damos doble clic al evento y nos llevara a la hoja de código de la página. Por cierto si aún no saber cómo ubicar la sección de eventos pues ubíquense en las propiedades del GridView y en la parte superior verán un Rayo allí le darán clic y verán todos los eventos disponibles para el GridView como se muestra en la siguiente imagen:

image

Ok luego de que sean llevado a la hoja de código colocaran las siguientes líneas de código dentro del evento que acabamos de crear.

VB:

    Protected Sub gvCountryRegion_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles gvCountryRegion.PageIndexChanging

        gvCountryRegion.PageIndex = e.NewPageIndex

        'Aqui invocamos al metodo que creamos al inicio que es LlenarGrid

        LlenarGrid()

    End Sub

C#:

    protected void gvCountryRegion_PageIndexChanging(object sender, GridViewPageEventArgs e)

    {

        gvCountryRegion.PageIndex = e.NewPageIndex;

        //Aqui invocamos al metodo que creamos al inicio que es LlenarGrid

        LlenarGrid();

    }

Y con esto damos por terminado esta serie de mini tutoriales :) prometo incorporar mas artículos que se relacionen con este tutorial.



Tags: ASP.net - C# - Csharp - Desarrollo - HTML - LINQ - net Framework - SQL Server - Tutoriales - Trucos - Tips - Visual Studio - Web - VB


Te ha gustado este Post?


Pues seria genial si pudieras compartirlo con otras personas y asi llegarle a mas personas que pudiera ser util esta publicación. Animate a compartir

Compartir Compartir este Post Compartir este Post Compartir este Post Compartir este Post

Nombres:
Correo:
Página:
Comentario: