En este post vamos a estudiar el enlace a datos de el objeto GridView por medio de código de Servidor C#.

Vamos a hablar en primer lugar sobre cómo se puede  manipular en código las operaciones de inserción, actualización, eliminación y consulta de datos con un objeto GridView. El más importate de todos es cómo hacer el binding de la carga inicial de datos al objeto GridView y manejo de eventos relativos a las operaciones anteriormente mecionadas, veamos el siguinete Scribd para resumir en el código cómo se debe hacer esto.


Ya tenemos los scripts de nuestra base de datos y correspondiente tabla , así pues damos paso a entender cómo es posible el enlace a datos desde el código confrontando la capa de Presentación, Negocios y Datos.

Para comenzar debemos tener claro que una aplicación ASP.NET cotidianamente estará enmarcada en el negocio por tal motivo no se puede empezar por ahí a construir a la lijera una aplicación, si no que debemos analizar un poco cómo es que se quiere empezar a elaborar el aplicativo, es donde pensar en una construcción en capas toma fuerza. Tipicamente se esquematiza una aplicación en capas como lo son Presentación (Páginas ASPX), Capa de Negocios (BusinessLayer Class Library ó una carpeta en el Sitio Web que simule dicha capa), Capa de Datos (DataLayer Class Library ó una carpeta en el Sitio Web que simule dicha capa).  Pensar en crear una arquitectura es importante para  que por ejmeplo cuando  la aplicación empiece a crecer no ocurran problemas, también es importante aplicar prácticas de construcción de código. Empecemos.

1 – Para este post queremos acceder a datos y relizar las operaciones CRUD con un GridView mediante código. Por lo tanto debemos agregar a nuestra solución dos Proyectos de tipo Libreria. El primero lo llamaremos BusinessLayer y el siguiente DataLayer. En las siguiente imagenes vemos como crear las Capas (Proyectos tipos Class Library).

Y luego de repetir esto mismo para crear DataLayer tendríamos en el explorador de Soluciones el siguinete resultado.

Photobucket

Básicamente y para no extendernos más en palabras Presentation Layer es lo que vas a mostrar al usuario final, Business Layer es donde estableces las reglas de nogocio que permiten validar que la información que va a manejar la aplicación sea congruente, óptima, segura entro otras y Data Access Layer es la capa que te permite comunicación directa con la base de datos.

2 – Una de las principales cosas a tener en cuenta en el acceso a datos es la “cadena de conexión a la base de datos” cómo vimos en el anterior post Visual Studio la generaba automaticamente. Ahora vamos a revisar un poco de que trata ésta.

<connectionStrings>

<add name=DemoASPConnectionString1connectionString=Data Source=FSOTELO-PC;Initial Catalog=DemoASP;

              Persist Security  Info=True;User ID=sa;Password=123456
         providerName=System.Data.SqlClient />

</connectionStrings>

name: Nombre de la cadena de conexión.

connectionString: DataSource -> Nombre o IP del Servidor (Tener en cuenta Puerto)

                  Initial Catalog -> Nombre de la base de datos

                  Persist Security Info=True Permite que información sensible quede expuesta en el archivo de configuración (No recomendado).

                  User ID -> Nombre del usuario

                  Password -> Contraseña de acceso

providerName : Proveedor de Datos (SqlClient en este caso).

Aclaro que la construcción de cadena de conexión no es la más segura, debido a que alguién que quisiera causar daño y obtener los datos del archivo WebConfig, que sin duda deben existir miles de individuos capaces de esto :-),para evitarlo, mejor sería encriptar dicha cadena. Para efectos de este Post solo nos interesa las operaciones en código servidor con el objeto GridView. La cadena de conexión estará presente en el archivo WebConfig por lo tanto tenemos que leerla desde nuestra capa de datos, la cual al compilar la apliación ASP.NET quedará convertida en una dll, al igual que la capa de negocios. Siendo  la siguinete secuencia, el flujo natural de este tipo de arquitectura.

ASP.NET App (Capa de Presentación en el Browser) -> BisnessLayer.dll -> DataLayer.dll -> Base de Datos

Bien ahora, cómo es posible conectar un GridView usando Capas en una apliación ASP.NET ?

3 – Obtener Cadena de Conexión en la Capa de Acceso a Datos.

Lo siguiente es una de varias formas en que podrías crear una capa de Datos y obtener así la cedena de conexión. A la DataLayer vamos a agregar unas referencias (¿Cómo agregar referencias a un Proyecto Class Library?)   System.Configuration  y System.Web, simultaneamente creamos una clase la cual llamanos Connection para el presente ejemplo veamos el siguinete scribd.

Ahora teniendo la las clases necesarias para Obtener la cadena de conexion y una clase Person la cual nos permita operar contra la base de datos y realizar cada una de las sentencias, procedemos a crea en la capa de negocio la clase PersonBL que nos va a permitir comunicar la capa de presentación, hacer últimas validaciones y poder lanzar las  sentencias SQL que permite insertar, actualizar, eliminar o seleccionar datos en DemoASP.

Ahora veamos esto en el siguiente video.

Data Access GridView 3 Tiers ASP.NET 2-n from Felipe Sotelo on Vimeo.

Anuncios