Cabde tutorial

29
Control de acceso a Base de Datos Extendido para Windows y Web (CABDE) Por: Ing. Henry Villarroel C.

Transcript of Cabde tutorial

Control de acceso a Base de Datos Extendido para Windows y Web

(CABDE)

Por: Ing. Henry Villarroel C.

Índice

1. Introducción .............................................................................................................. 3 2. Presentación .............................................................................................................. 3 3. Creando un nuevo proyecto ...................................................................................... 4 4. Cadena de conexión .................................................................................................. 8 5. Clases de tablas Graficas y por Codigo .................................................................... 9 6. Procedimientos y consultas ...................................................................................... 9 7. Creación de tablas Gráficamente .............................................................................. 9 8. Creación de un Proyecto WEB ............................................................................... 13 9. Publicando su proyecto Web .................................................................................. 21 10 ReportesWindows Form

1. Introducción Para los que no saben esta es la nueva versión del proyecto demo de Tres Capas que se desarrolló antes Pero es probable que muchos se hagan la siguiente pregunta ¿Porque Desarrollarlo en componente o librería DLL? Bueno la respuesta muy sencilla, como todos saben las librerías DLL en .Net sirven para cualquier lenguaje, eso significa que esta DLL puede ser usada para Visual Basic, C#, C++, etc. Así que no importa que lenguaje usted desarrolle podrá usar la librería sin ningún problema. Otra razón por la cual se a tomado la decisión de convertir estas clases en componente es porque de ese modo se puede añadir interfase grafica en el diseño de la aplicación Y eso es muy útil para los que están comenzando a trabajar con .net 2. Presentación En este proyecto se pretende mostrar el uso de la Librería CABDE con dos ejemplos, el primero es un ejemplo de cómo se puede trabajar con una base de datos hecha en ACCESS ó en SQL Tambien se muestra como poder crear clases de tablas (ej. clPersona), en este punto se muestra como trabajar en ambiente grafico y como trabajar en ambiente código para crear las clases de las tablas

3. Creando un nuevo proyecto Para comenzar cree un proyecto nuevo para nuestro ejemplo en Visual Basic y póngale el nombre que desee Ahora asegúrese que usted tiene el componente sino lo tiene simplemente baya a la pagina Web http://jingt.spaces.live.com y en el Blog usted podrá descargar el componente junto con el proyecto demo hecho en Visual Basic .net (incluye la base de datos hecha en Access) y la base de datos hecha en SQL 2005, Después de que usted creo su proyecto nuevo, cree en la unidad c una carpeta llamada “c:/cabde”, asegurese que dentro de la carpeta se encuentra el componente y el archivo llamado conexion.ubl

Luego abra el archivo conexion.udl y conectelo con la base de datos que desee trabajar

Asegurese que la conexión esta funcionando, luego agregue una referencia en su proyecto a esa librería , para ello clic derecho sobre su proyecto y clic en agregar referencia

En la ventana que aparece baya en la ficha o pestaña “Examinar” y seleccione la librería de componente “CADBE.dll” que copio anteriormente y clic en aceptar

Para poder ver, mostrar u ocultar las referencias que tiene en su proyecto vaya al botón que aparece en el explorador de soluciones

Luego podrá ver sus referencias y tiene que estar la del componente

De esa forma nos aseguramos que tenemos bien hecha la referencia hacia el componente 4. Cadena de conexión Ahora abra el proyecto Demo sino lo tiene puede descargarlo de http://jingt.spaces.live.com y observe la clase “CadenaDeConexion.vb” esta clase contiene las dos cadenas de conexión para poder conectar con una base de datos hecha en SQL y ACCESS

Nota importante sobre una base de datos hecha en ACCESS, la base de datos tendrá que estar en el mismo directorio donde se encuentra el ejecutable de su aplicación (desde donde se esta ejecutando) Ejemplo cuando usted compila su compilado queda en “C:\Documents and Settings\NOMBRE DEL USUARIO\Mis documentos\Visual Studio 2005\Projects\CABDEProyectoDemo\CABDEProyectoDemo\bin\Debug” Así que usted tendrá que poner su base de datos de Access en ese lugar, sino puede que su aplicación no encuentre la base de datos cuando usted este intentando conectar en caso de SQL no hay ese problema 5. Clases de tablas Graficas y por Codigo Tambien usted encontrara dos clases persona “ClaseTablaPersona.vb” La clase “ClaseTablaPersona.vb” Ya esta creada, para crear una nueva clase revise creación de tablas graficamente Ahora si bien por el momento usted podrá elegir como trabajar si con ambiente grafico o con ambiente código es recomendable que trabaje con ambiente grafico por la facilidad de uso y en un futuro espero poder dar mayor facilidad en el uso grafico 6. Procedimientos y consultas La clase “proProcedimientosAlmacenados.vb” es un ejemplo de cómo poder acceder a procedimientos almacenados hechos en SQL2005 7. Creación de tablas Gráficamente Para poder ver el ejemplo simplemente habrá el formulario “formDemoSQL2005.vb”

Notese que hay la instancia de dos clases “clgPersona” que es una instancia de la clase “CABDE.CABDETablaCodigo ” y “ clgNegocios ” que es una instancia de la clase “ CABDE.CABDENegocios” La clase ClgPersona nos permite crear graficamente las tablas Importante usted podra pegar en cualquier formulario esa clas e y si usted necesita en otro proyecto tambien podra pegar lo sin ningun problema solo necesita tener habiertos los dos proy ectos y luego copie de un poyecto a otro la clase “ clgPersona ” Para poder diseñar su tabla en hambiente grafico si mplemente seleccionelo y revice en el lado derecho la propied ad llamada “TablaEditorCampos” teniendo seleccionada la clase clgpersona

clic en el boton para poder editarlos y aparesera l a ventana Edicion de Tabla

Simplemente sonde dice nombre de tabla ponga el nom bre de la tabla ejemplo persona y clic al boton de alado con los do s puntitos, imediatamente abajo ustedes vera los campos de la t abla ya agregados, incluyendo los campos llaves, en este caso solo cod igo

Importante si le genera algun error rebise la conex ión.udl ya que el componente utiliza esa conexión para desarrollar, y el proyecto utiliza la clase conexión que bienen incluida junto con el proyecto demo Luego ustede podra elegir que clase desea crear si visual basic o Cshar, en este caso visual basic, tendra que apares er una ventana nueva con el codigo generado de su nueva clase

Solamente copie ese codigo y peguelo en una clase n ueva la cual debe renombrar de ese modo (ClaseTablaNombretabla) como se ve arriba Automaticamente el componente determina que tipo de es cada campo asi que ya no tendra que preocuparse de ello, es import ante que sepa que en algunas ocaciones los campos tipo DateTime que s e utilizan es fechas dan problemas ya que algunos sistemas operat ivos trabajan con dia/mes/año y otros mes/dia/año, recomiendo tener b astante cuiddo en eso, si tienen ciertosproblemas use trate de trabaj ar con nvarchar en lugar de date time en la base de datos, y dejar en el componente como datetime Para poder ver como se instancia y se agregan las p ropiedades a este tipo de tablas rebise el proyecto demo la clase “ ClaseTablaPersona.vb ” y el formulario “ formDemoSQL2005.vb ”

8. Creación de un Proyecto WEB Primero que nada copie la librería a la carpeta bin de su proyecto

Luego agregue una referencia en su proyecto a la librería

Luego busque la librería en la carpeta Bin de su proyecto

Y Su proyecto tiene que quedar de este modo

Para poder usar la librería en su Web Form (Pagina de formulario de ASP.NET) tiene que registrar para ellos en su WebForm y seleccione la vista de código

Después agregue la siguiente linea arriba (como nueva segunda linea de codigo) <%@ Register Assembly ="CABDE" Namespace="CABDE" TagPrefix ="cc1" %> Y con eso la librería ya estara registrada para su pagina

Después abra el proyecto “CABDEWebProyectoDemo” y pagina “wformDemoSQL2005.aspx” y copie los objetos que necesite “MsgBox1” le permitira mostrar mensajes al usuario, “clgNegocios” permite la conexión con la base de datos y “clgPersona” permite crear una clase persona en forma grafica

Nota importante para los usuario de XP cuando publi que su pagina web en el “Internet information service” asegurese que le da permisos de escritura a su proyecto publicado comensando desde la raiz

Aga lo mismo para el sitio Web predeterminado y su respectivo directorio virtual Luego tiene que permitir que su base de datos de ac cess tambien tenga permiso de escritura. Para ello baya al directorio donde se encuentra su publicacion

Luego vaya a herramientas/opciones de carpetas/ y en la ficha Ver desabilite la casilla donde dice “Utilizar uso comp artido simple de archivos [recomendado]”

Eso habilitara la seguridad en sus archivos, ahora clic derecho sobre su base de dados hecha en access y propiedades

Ahora tiene que agregar el usuario que utilizara pa ra poder escribir en la base de datos sino conoce al usuario escriba “Todos” (All para los ingleses)

Ahora usted tendra que darle control total sobre es e archivo a ese usuario que sera “Todos” (cualquier usuario podra m odificar ese archivo)

Si usted sigue teniendo problemas talves necesite a gregar control total a todos los usuario de su lista y no solo a t odos

9. Publicando su proyecto Web Para los que no sabe publicar un proyecto Web háganlo de esta manera Primero creen una carpeta en donde lo van a publicar

Después clic derecho sobre su proyectó y eligen “Publish Web site”

Despues examinan al directorio creado antes y lo pu blican

Si es la segunda publicacion que acen les pedira qu e reemplacen sus archivos anteriores Nota si usted quiere llevar su publicacion a otro s ervidor simplemente copie la carpeta donde publico su pagina

Junto con sus archivos precompilados y peguelos en el sevidor deseado Unaves hecho eso no olvide que en el Internet infor marion service tiene que crear un directorio virtual para su proye cto sino no funcionara

Si tienen dudas vaya a http://jingt.spaces.live.com y deje sus comentario en el blog donde esta el post de componente asi otros usuarios podrán ver sus dudadas y podran ayudarle en caso que este muy ocupado y usted necesite la respuesta rápida 10. Reportes Para crear un reporte Primero agregue una dataset a su proyecto

Luego en el dataset agregue un table adapter y elija la conexión que de see o cree una nueva a su base de datos, es recomendable que usted con anterioridad aya creado un procedimiento almacenado, asi que seleccionelo ese

Como se puede apreciar para nuestro ejemplo tenemos un parámetro codigo que se utiliza con el codigo y un parámetro parámetro que no se esta utilizando, es solo una prueba asi que no interesa demasiado, una ves terminado deberia quedarle de ese modo

Guardelo cierrelo y agregue un reporte a su proyecto,

Nuestro reporte lo aremos apartir de un reporte en blanco asi que seleccionelo

En su reporte agregue el dataset creado anteriormente

Importante agregue todas las tablas que tenga su procedimiento almacenado Luego diseña su reporte a su gusto, guardelo y cierrelo

Para ver como llamar al reporte consulte el proyecto CabdeWinProyectodemo Es recomendable que organise bien sus archivos dentro de su proyecto tal como se muesta abajo Y no olvide modificar la cadena de conexión por una cadena valida para su base de datos, es recomendable que use la misma cadena generada Por el archivo conexión.udl, para ello simplemente abra con un block de notas