Aqui dejo la tan atrasada 4ta parte de este tutorial. Lo estoy preparando en medio de la dramatica situacion que vivimos en Chile producto del Mega Terremoto que afecto la zona centro-sur del pais. De hecho en mi trabajo (en Santiago) nos devolvieron porque el edificio no tenia agua y tenian grietas que debian ser evaluadas.

Ahora volvemos a lo nuestro. La 3ra Parte quedamos con la comunicacion de capas con entidades haciendo una simulacion de un envio de datos desde la Capa de Datos.

Cabe aclarar que desde este parte en adelante, estoy trabajando con Visual Studio 2008.

Primero que nada, agregaremos registros a nuestra tabla de Clientes segun muestra la siguiente imagen:

El codigo SQL es el que sigue:

insert into clientes values (1, 1,'9','juan','perez')
insert into clientes values (2, 2,'7','maria','cortes')
insert into clientes values (3, 3,'5','jose','gonzalez')

Ademas crearemos un procedimiento almacenado que hara la consulta del cliente. Lo llamaremos usp_ConsultarCliente y tendra la siguiente tendencia:

	CREATE PROCEDURE [dbo].[usp_ConsultarCliente]
	-- Add the parameters for the stored procedure here
	@nro_cta int
	AS
	BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

	-- Insert statements for procedure here
	SELECT * from clientes where nro_cta = @nro_cta
	END
	

Para conectar la aplicacion con la base de datos, lo haremos con conexion segura. Asi que le daremos permisos al usuario ASPNET sobre la base demo que teniamos creado, como muestra la figura a continuacion:

Ahora volvemos a nuestra solucion. En la capa de datos, el metodo daConsultaCliente lo reemplazaremos por el codigo necesario para la conexion. Usaremos la sentencia Using que es la forma mas optima de consumir una conexion de base de datos.

Aqui esta el codigo completo de la clase:

    Imports System.Data.SqlClient
    Imports CapaEntidades

    Public Class BaseDatos

    Dim connectionString As String

    Public Sub New()
    connectionString = GetConnectionString()
    End Sub

    Private Function GetConnectionString() As String

    Return “Data Source=.;Database=demo;Integrated Security=SSPI;”

    End Function

    Public Function daConsultaCliente(ByVal NroCta As Integer) As CapaEntidades.cliente
    Dim miCliente As New CapaEntidades.cliente

    Using connection As New SqlConnection(connectionString)
    connection.Open()

    Dim command As New SqlCommand()
    Dim parameter As New SqlParameter()

    'creamos un comando para ejecutar el procedimiento almacenado
    command.Connection = connection
    command.CommandType = CommandType.StoredProcedure
    command.CommandText = “usp_ConsultarCliente”

    'creamos el parametro del procedimiento
    parameter.DbType = DbType.Int16
    parameter.Direction = ParameterDirection.Input
    parameter.ParameterName = “@nro_cta”
    parameter.Value = NroCta

    'agregamos el parametro
    command.Parameters.Add(parameter)

    'ejecutamos el Procedimiento Almacenado con un reader para recuperar la fila
    Dim reader As SqlDataReader = command.ExecuteReader

    While reader.Read()
    'llenamos la Entidad con los datos del registro
    miCliente.nro_cuenta = reader(0).ToString
    miCliente.rut = reader(1).ToString
    miCliente.dv = reader(2).ToString
    miCliente.nombre_cliente = reader(3).ToString
    miCliente.apellido_cliente = reader(4).ToString

    End While
    End Using

    Return miCliente
    End Function

    End Class
	

Una vez que ejecutemos la aplicacion tendremos la misma vision de datos que en la 3ra. parte. Se despliegan los datos del Cliente como se muestran a continuacion:

Ahora dejo aqui disponible el codigo de la solucion .NET acumulado hasta ahora.

Y perdon por el atraso de este tutorial.🙂

Links:

ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (1ra. parte)

ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (2da. parte)

ASP NET: Como crear una Aplicacion de 3 Capas con Entidades (3ra. parte)

TYDW.-