capas en visual studio

14
Día 3: Introducción a la programación en 3 Capas. Requerimientos de este laboratorio: Base de datos creada en el laboratorio 1 en SQL SERVER. Visual Studio 2008 FUNDAMENTOS: La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la lógica de negocios de la lógica de diseño; un ejemplo básico de esto consiste en separar la capa de datos de la capa de presentación al usuario. 1.- Capa de presentación: es la que ve el usuario (también se la denomina "capa de usuario"), presenta el sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso (realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica únicamente con la capa de negocio. También es conocida como interfaz gráfica y debe tener la característica de ser "amigable" (entendible y fácil de usar) para el usuario. 2.- Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) porque es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al gestor de base de datos para almacenar o recuperar datos de él. También se consideran aquí los programas de aplicación. 3.- Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Está formada por uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de almacenamiento o recuperación de información desde la capa de negocio.

Upload: frank-primero-puma-luego-existo

Post on 05-Aug-2015

185 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Capas en Visual Studio

Día 3: Introducción a la programación en 3 Capas.

Requerimientos de este laboratorio:

Base de datos creada en el laboratorio 1 en SQL SERVER.

Visual Studio 2008

FUNDAMENTOS:

La programación por capas es un estilo de programación en el que el objetivo primordial es la separación de la

lógica de negocios de la lógica de diseño; un ejemplo básico de esto consiste en separar la capa de datos de la

capa de presentación al usuario.

1.- Capa de presentación: es la que ve el usuario (también se la denomina "capa de usuario"), presenta el

sistema al usuario, le comunica la información y captura la información del usuario en un mínimo de proceso

(realiza un filtrado previo para comprobar que no hay errores de formato). Esta capa se comunica únicamente

con la capa de negocio. También es conocida como interfaz gráfica y debe tener la característica de ser

"amigable" (entendible y fácil de usar) para el usuario.

2.- Capa de negocio: es donde residen los programas que se ejecutan, se reciben las peticiones del usuario y

se envían las respuestas tras el proceso. Se denomina capa de negocio (e incluso de lógica del negocio) porque

es aquí donde se establecen todas las reglas que deben cumplirse. Esta capa se comunica con la capa de

presentación, para recibir las solicitudes y presentar los resultados, y con la capa de datos, para solicitar al

gestor de base de datos para almacenar o recuperar datos de él. También se consideran aquí los programas de

aplicación.

3.- Capa de datos: es donde residen los datos y es la encargada de acceder a los mismos. Está formada por

uno o más gestores de bases de datos que realizan todo el almacenamiento de datos, reciben solicitudes de

almacenamiento o recuperación de información desde la capa de negocio.

Page 2: Capas en Visual Studio

Paso 1: Iniciar en todos los programas – Visual Studio 2008 – Menú Archivo - Nuevo Proyecto, seleccione el

lenguaje VB.NET o C#, después seleccione el tipo de plantilla Librería de Clases (Class Library) y dar clic en Ok.

Paso2: Eliminar la clase por default llamada Class1.cs.

Paso3: Agregar una nueva clase, dando clic derecho en el proyecto Agregar (Add) – Clase (Class).

Page 3: Capas en Visual Studio

El nombre de la clase se llamará Configuracion.cs o Configuracion.vb

Paso4: Agregar el siguiente código dentro de la clase Configuracion.cs o Configuracion.vb

Código C#:

using System;

using System.Collections.Generic;

using System.Text;

namespace Datos

{

public class Configuracion

{

static string cadenaConexion=@"Data Source=.\MSPDeveloper;Initial

Catalog=Tienda;User ID=sa;Password=mredison";

public static string CadenaConexion

{

get { return cadenaConexion; }

}

}

}

Page 4: Capas en Visual Studio

Código VB.NET:

Paso 5: Agregar una nueva clase llamada MetodosDatos.cs o MetodosDatos.vb

Paso 6: Agregue el primer método a la clase MetodosDatos llamado CrearComando.

Código C#:

Public Class Configuracion

Shared _cadenaConexion As String = "Data Source=.\MSPDeveloper;Initial

Catalog=Tienda;User ID=sa;Password=mredison"

Public Shared ReadOnly Property CadenaConexion() As String

Get

Return _cadenaConexion

End Get

End Property

End Class

using System;

using System.Data;

using System.Data.SqlClient;

namespace Datos

{

public class MetodosDatos

{

public static SqlCommand CrearComando()

{

string _cadenaConexion = Configuracion.CadenaConexion;

SqlConnection _conexion = new SqlConnection();

_conexion.ConnectionString = _cadenaConexion;

SqlCommand _comando = new SqlCommand();

_comando = _conexion.CreateCommand();

_comando.CommandType = CommandType.Text;

return _comando;

}

}

}

Page 5: Capas en Visual Studio

Código VB.NET:

Paso 7: Empezará creando el método de EjecutarComandoSelect que retornará el resultado de cualquier

consulta que usted realice posteriormente.

Código C#:

Código VB.NET:

Paso 8: Agregar una nueva clase llamada AccesoDatos.cs o AccesoDatos.vb

Imports System.Data

Imports System.Data.SqlClient

Public Class MetodosDatos

Public Shared Function CrearComando() As SqlCommand

Dim _cadenaConexion = Configuracion.CadenaConexion

Dim _conexion As New SqlConnection()

_conexion.ConnectionString = _cadenaConexion

Dim _comando As New SqlCommand()

_comando = _conexion.CreateCommand()

_comando.CommandType = CommandType.Text

Return _comando

End Function

End Class

Public Shared Function EjecutarComandoSelect(comando As SqlCommand) As DataTable

Dim _tabla As New DataTable()

Try

comando.Connection.Open()

Dim _adaptador As New SqlDataAdapter()

_adaptador.SelectCommand = comando

_adaptador.Fill(_tabla)

Catch ex As Exception

Finally

comando.Connection.Close()

End Try

Return _tabla

End Function

public static DataTable EjecutarComandoSelect(SqlCommand comando)

{

DataTable _tabla = new DataTable();

try

{

comando.Connection.Open();

SqlDataAdapter adaptador = new SqlDataAdapter();

adaptador.SelectCommand = comando;

adaptador.Fill(_tabla);

}

catch (Exception ex)

{ throw ex; }

finally

{ comando.Connection.Close(); }

return _tabla;

}

Page 6: Capas en Visual Studio

Paso 9: Creará un método llamada ObtenerProductos() que retornará una tabla con los productos.

Código C#:

Código VB.NET:

Imports System.Data

Imports System.Data.SqlClient

Public Class AccesoDatos

Public Shared Function ObtenerProductos() As DataTable

Dim _comando As SqlCommand = MetodosDatos.CrearComando()

_comando.CommandText = "SELECT * FROM Productos"

Return MetodosDatos.EjecutarComandoSelect(_comando)

End Function

End Class

using System;

using System.Collections.Generic;

using System.Text;

using System.Data;

using System.Data.SqlClient;

namespace Datos

{

public class AccesoDatos

{

public static DataTable ObtenerProductos()

{

SqlCommand _comando = MetodosDatos.CrearComando();

_comando.CommandText = "SELECT * FROM Productos";

return MetodosDatos.EjecutarComandoSelect(_comando);

}

}

}

Page 7: Capas en Visual Studio

Paso 10: Creará otro proyecto, vaya a la parte del Explorador de soluciones (Solution Explorer) – después de clic

derecho y agregue un nuevo proyecto (New Project...), dicho proyecto lo llamará Logica y estará en el mismo

lugar que el anterior proyecto. Este proyecto se agregará a la solución que usted ya tiene.

Paso 11: Cree una clase llamada AccesoLogica.cs o AccesoLogica.vb

Paso 12: Agregue una referencia al proyecto Logica, de esta forma.

Page 8: Capas en Visual Studio

Dentro del tab Proyectos (Projects) se encontrará con el proyecto Datos, si no lo encuentra, entonces vaya al

proyecto Datos en el Explorador de Soluciones y de clic derecho Construir (Build)

Page 9: Capas en Visual Studio

Paso 13: Asegúrese que la .dll Datos se haya agregado al proyecto como referencia.

Después cree un método de la clase llamado ObtenerProductos()

Código C#:

Código VB.NET:

Imports DatosVB

Imports System.Data

Imports System.Data.SqlClient

Public Class AccesoLogica

Public Shared Function ObtenerProductos() As DataTable

Return AccesoDatos.ObtenerProductos()

End Function

End Class

using System;

using System.Collections.Generic;

using System.Text;

using System.Data;

using System.Data.SqlClient;

using Datos;

namespace Logica

{

public class AccesoLogica

{

public static DataTable ObtenerProductos()

{

return AccesoDatos.ObtenerProductos();

}

}

}

Page 10: Capas en Visual Studio

Paso 14: Agregue un nuevo proyecto de tipo Windows Forms a la solución existente.

Paso 15: Del formulario Form1 por Default, usted cambiará su propiedad Text a Productos y su propiedad

Name a Productos.

Page 11: Capas en Visual Studio

Paso 16: Cambie el nombre del formulario en el Explorador de Soluciones (Solution Explorer).

Page 12: Capas en Visual Studio

Paso 17: Coloque un control de datos DataGridView y después presión F4 para buscar sus propiedad y cambiar

el de Nombre (Name) a gvProductos.

Paso 18: Como lo hizo en el proceso anterior agregue la referencia de la librería Logica al proyecto

Presentacion. Después de dobleclic al formulario para iniciar con el evento PageLoad del Formulario.

Copie el siguiente código:

Page 13: Capas en Visual Studio

Código C#:

Código VB.NET:

Si usted puede notar que el proyecto Datos está en modo negritas, ya que es el proyecto por Default, debe

cambiarlo a Presentacion.

Clic derecho a la solución – Propiedades – Colocar Presentación como proyecto de inicio.

Imports LogicaVB

Public Class Productos

Private Sub Productos_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)

Handles MyBase.Load

gvProductos.DataSource = AccesoLogica.ObtenerProductos()

End Sub

End Class

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using Logica;

namespace Presentacion

{

public partial class Productos : Form

{

public Productos()

{

InitializeComponent();

}

private void Productos_Load(object sender, EventArgs e)

{

gvProductos.DataSource = AccesoLogica.ObtenerProductos();

}

}

}

Page 14: Capas en Visual Studio

Paso 18: Presione F5 para visualizar su formulario y la consulta.

Material elaborado por Microsoft Student Partners.

Dudas o Preguntas:

[email protected]

Blog:

http://mredison.wordpress.com