Está en la página 1de 6

asi se ve le proyecto terminado:

Carpeta UI: esta carpeta representa la primer capa llamada comunmente "capa de
presentación", (UI = User Interface) esta es la interfaz que se presenta al usuario, en este
ejemplo aqui se encuentran los formularios respectivos para el ABM, los cuales se
encargaran de llamar a la segunda capa para que le provea de los datos a mostrar.

Carpeta Reglas: esta carpeta representa la segunda capa llamada comunmente "capa de
negocio", aca se encuentran las "reglas" de negocio o la logica. aqui se ejecutan las
consultas y se escriben los comandos a ejecutar. cada entidad esta representada por una
clase, donde dentro de esta se escribe toda su logica, en este proyecto al tener 3
entidades principales, se crearon 3 clases que representan a cada una de ellas (tambien
son las 3 tablas que contiene la base de datos), las clases
son cPais, cProvincias, cCiudades.

Carpeta Datos: esta carpeta representa la tercer capa llamada comunmente "capa de
datos", aca se encuentra la clase llamada cBaseDatos que es la encargada de la conexion
a la base y de ejecutar las consultas y comandos, y devolver el resultado a la segunda
capa.

La carpeta Utiles no tiene nada que ver con las 3 capas, es simplemente una carpeta para
poder poner clases que nos sean utiles en el proyecto, en este caso yo uso una clase
donde tengo funciones publicas, y tambien una clase que me permite simular la
propiedad ItemData de VB6, en los combobox de .NET que se usaran en el proyecto.

El modulo llamado modMain es el modulo principal (es un modulo normal, no de clase)


por donde se inicia la aplicación y se conecta a la base de datos, antes de que se muestre
el primer formulario al usuario, (no se inicia por el Load de ningun formulario como se hace
comunmente, que no esta mal, pero es recomendable hacerlo de esta forma con el
modulo). Es como el Sub_Main de VB6, hay que especificarle desde las propiedades del
proyecto que comienze por ahi, sino no funciona.

El codigo del modulo es el siguiente, paso a explicarlo.

1 - Primero se declaran las variables globales que seran las instancias de los objetos
(clases) durante todo el proyecto. La variable oDB sera la que contenga la clase de la
primer capa, encargada de la conexion, luego declaramos de la misma forma una variable
para cada entidad (paises, provincias, ciudades).

Luego de chequear que exista la base de datos en el directorio del .exe, se conecta a la
base de datos con la cadena de conexion respectiva para Access, luego de conectar,
instancia finalmente las clases y se ejecuta el formulario principal.

Formulario Principal:
Este es el formulario principal que solo contiene el menu para acceder a las diferentes
pantallas, nada mas.

Formulario Paises:

Este formulario contiene lo que seria la "tabla principal" del ABM, los paises que sean
dados de altas aqui, sera posible en las otras pantallas poder relacionarle provincias
(tambien llamados estados en venezuela o EE.UU) y luego a las provincias relacionarle
ciudades. En este ejemplo solo he dado de alta estos 2 paises como algo basico.
Nota: TODOS los formularios de ABM contienen el mismo formato, una grilla principal, con
un manu superior con 3 botones para Agregar, Editar o Eliminar, y al costado derecho un
panel para poder poner los diferentes campos de busqueda.

en esta pantalla el campo para buscar es simplemente el campo "nombre" (ya que no
contiene otro campo).

Formulario Provincias:

Este formulario muestra todas las provincias (la cual las podemos relacionar a los paises),
la busqueda ademas del campo "nombre" contiene ahora un combo para permitir al
usuario poder ver solo las provincias de un determinado pais.

Formulario Ciudades:
Este formulario muestra todas las ciudades (la cual las podemos relacionarlas a una
determinada provincia), la busqueda ademas del campo "nombre" contiene ahora 2
combos para permitir al usuario poder ver solo las provincias de un determinado pais o de
una determinada provincia, pero algo importante que tienen estos combos, es que
funcionan en modo "cascada", es decir si primero selecciono el pais argentina, el combo
de provincias solo se llenara con las provincias de este pais y no de otro, de esta forma
podemos buscar mas exactamente y rapido, sino la busqueda seria desordenada y
quedaria truncada.

bueno aqui termina el resumen, el que quiera el link de descarga del proyecto entero con
el codigo fuente, que lo pida por privado, ya que no permiten links de descarga en los post,
si alguno sabe como se pone el link sin que deje de salir el post que me diga.

https://www.taringa.net/post/hazlo-tu-mismo/15405665/Sos-Programador-en-NET-ABM-
basico-Entra.html

Hola, les traigo este proyecto para .NET para ayudar a los que recien empiezan sobre
todo, sobre el tema de bases de datos.

aviso que el proyecto esta con el codigo fuente entero para descargar, pero antes lean
hasta el final asi entienden de que trata.

Que son las 3 capas ?

una explicación simple:

supongamos que voy a hacer un ABM de clientes y de articulos.


en el proyecto, te creas clases, esas clases las separas en proyectos distintos, una seria la
capa de
Datos, esta seria la capa mas "profunda" o tercera capa, si trabajas con bases de datos,
esta capa se encarga de la conexion a la base de datos y de ejecutar las consultas y
comandos que vienen de la segunda capa(la capa de Negocio).

la segunda capa (la de Negocio se encargaria de preparar los SELECT a la base de


datos, y preparar los comandos a ejecutar, que seran enviados a la tercera capa que
vimos arriba (la de Datos).

Por ejemplo, quiero hacer un ABM de clientes, entonces me creo una clase
llamada cCliente y ahi pongo todas las propiedades y metodos necesarios para manegar
los clientes, insertar, actualizar,borrar..etc, lo mismo me creo una clase para la de articulos
llamada cArticulos, para cada "Entidad" te creas una clase y ahi mismo pones sus
metodos.

y la primer capa, la de "Presentación" (que seria la interfaz del programa), ahi haces todo
llamando siempre a los metodos de la segunda capa (la capa de "Negocio" supongamos
que yo aprieto un boton y quiero borrar un cliente, entonces llamo al metodo
de borrarCliente de la clase cCliente.

El proyecto es de lo mas basico que se me pudo ocurrir, por eso decidi hacer algo simple
para que todos lo entiendan y vean como funciona, en este caso se me ocurrio un AMB
de Paises-Provincias-Ciudades el cual cada pais esta relacionado a N provincias y cada
provincia relacionado a N ciudades en la base de datos.

Esta realizado con Visual Studio 2008 en visual basic, con base de datos en Access 2003
(deberia ser compatible con cualquier version de visual studio ya que no usa nada externo,
es puro codigo).

Viendo la cantidad de dudas de bases de datos que siempre hay, este proyecto lo que
trata de mostrar es como trabajar correctamente con bases de datos, usando SQL para las
consultas e instrucciones, y usando 3 capas, de esta forma hacerlo de la mejor manera
posible y hacerlo como se debe hacer, ya que hay varias formas de hacerlo, pero
correctamente solo hay algunas.

Se uso el espacio de nombres System.Data.OleDb que es lo que se debe usar para


conectarse a una base de Access, por lo tanto los 3 objetos principales que se usaron
son OleDbConnection (para realizar la conexion a la base de
datos), OleDbDataReader (para hacer los SELECT) y OleDbCommand (para ejecutar los
comandos SQL como INSERT, UPDATE o DELETE). Como sabran, si el proyecto se
quiere pasar a otro motor como SQL Server se debera usar el espacio de
nombres System.Data.Sql y los 3 objetos que nombre anteriormente seran los mismos
solo que bajo este espacio de nombres, lo mismo si lo quieren hacer para MySQL u otro
motor.

También podría gustarte