Documentos de Académico
Documentos de Profesional
Documentos de Cultura
*CREAR UNA BASE DE DATOS 1) Ingrese a Visual Studio y cree un nuevo proyecto Nombre: Alquiler de Videos 2) En la ventana del explorador de soluciones !acer clic derec!o sobre el nombre del proyecto" Seleccione #Agregar$" #Nuevo Elemento$%
/) )bserve la ventana del explorador de soluciones aparece agregada la base de datos Esta es una novedad en Visual Studio 2001 ya que nos permite a2adir una base de datos a nuestro proyecto como si .uera un arc!ivo% El asistente abrir3 una ventana para seleccionar las tablas que deseamos incluir al proyecto pero aun no !emos creado ninguna asi que !a4 clic en cancelar%
*CREAR LAS TABLAS DEL SISTEMA 1) En la ventana del #Explorador de Soluciones$ !acer clic derec!o sobre el icono de la base de datos #videoalquiler%md.$ 2) Selecciona #Abrir$% Se abrir3 la ventana del #Explorador de 5ases de (atos$ &) 6acer clic derec!o sobre el ob7eto 8A5*AS " Selecciona #Agregar Nueva 8abla$ /) Escribe los nombres de los campos su tipo de datos y si se permiten valores nulos%
:3gina 1
TABLAS A CREAR:
TABLA: SOCIOS Nombre Columna IdSocio Nombre Apellido 8ele.ono Email de T !o de Da"o# Nc!ar;<) Nvarc!ar;1 0) Nvarc!ar;1 0) Nc!ar;1&) Nvarc!ar;1 0)
TABLA: $ELICULAS Nombre Columna de T !o de Da"o# Nc!ar;10) IdPelicula 8itulo Nvarc!ar;2 00) Stoc= Int N)8A: El campo Stoc= almacenara la cantidad de copias que tengamos de esa pel>cula en las propiedades que aparecen en la parte in.erior de la pantalla #Valor o Enlace :redeterminado$ escribir 0% TABLA: AL%UILERES Nombre Columna de T !o de Da"o# Int IdAlquiler IdSocio Nc!ar;<) Id:elicula Nc!ar;10) ?ec!aAlquiler (atetime (evuelta 5it :ropiedades: :ara IdAlquiler S> :ara (evuelta Valor o Enlace :redeterminado: 0 -ecopilado por: 9Sc% 'laudia 5enavide4 -ugama :3gina 2
Al terminar tendremos una apariencia similar a la mostrada en la .igura de la i4quierda% *Crear Diagrama En idad ! Relaci"n 1) En la ventana del Explorador de 5ase de datos !aga clic derec!o sobre #(iagramas de 5ases de (atos$ 2) Seleccione #Agregar Nuevo (iagrama$ &) 'lic en @ES% /) Selecciona cada una de las tablas y !a4 clic en el botAn AB-EBA- para agregarlas todas% 1) Arrastra el campo en comCn de una tabla y dD7alo caer en su campo coincidente de la otra tabla% E) 'lic en Aceptar% F) Al .inal tendr3s una apariencia similar a la siguiente
:3gina &
$RODUCTOS Id$ro ' ;&) d (espr ' ;&0) od :actua 9oney l ;G)
VENDEDORE S Id&end ' ;&) Nomve ' nd ;20) Ape1ve ' nd ;20) Ape2ve ' nd ;20) (irvend ' ;10) 8el.ven ' d ;10)
ABONOS Idre' bo Int ;/) Idclte ' ;&) ?ec!arec (atetim eG ValorAbo 9oney G no (ACTURAS Id(a'" Int ;/) ?ec!a? (atetim act eG Idvend ' ;&) Idclte ' ;&) DETALLES Id(a'" Int ;/) Id!rod ' ;&) 'antida Int ;/) d :recVen 9oney ta ;G)
CLIENTES Id'l"e ' ;&) Nomclt ' e ;&0) Ape1cl ' te ;20) Ape2cl ' te ;20) (irclte ' ;10) 8el.clt ' e ;10)
:3gina /
*A#RE#AR RE#ISTROS A TUS TABLAS 1) 'lic derec!o sobre el nombre de la tabla en el #Explorador de base de datos$ " Selecciona #9ostrar (atos de 8abla$
*CREAR UNA $UENTE DE DATOS PARA CADA UNA DE LAS TABLAS *os dataset nos permiten accesar a la in.ormaciAn que almacenan las tablas% Al crear la .uente de datos visual crea autom3ticamente estos datasets% Esto es crear una capa de acceso a datos% Necesitamos 1 dataset por cada tabla% 1) En la ventana del explorador de soluciones !a4 clic sobre la .ic!a #)r>genes de (atos$% 2) 'lic en &) Aparecer3 la ventana de un asistente%
/) Selecciona 5ase de (atos " 'lic en Siguiente 1) Selecciona de la lista el nombre de nuestra base VI(E)A*+,I*E-%md. " Siguiente E) Buardar cadena de conexiAn"Siguiente F) A!ora pregunta de quD ob7etos se quieren crear los datasets
de
datos:
G) Selecciona la tabla Alquileres% <) Nombre de (ataSet: Alquileres(S 10) 'lic en ?inali4ar% -ecopilado por: 9Sc% 'laudia 5enavide4 -ugama :3gina 1
11)
12) 'rea un dataset para la tabla socios: Socios(S% 1&) Al .inali4ar veremos que se crearon los adaptadores que se encargan de alimentar la entidad y sincroni4ar los cambios con la base de datos% *DESARROLLAR LA INTER$A% #RA$ICA 1) 'ambiar las propiedades del ?orm1 Is9di'ontainer: 8rue ;'rea un .ormulario que puede contener otro .ormulario) 2) Agregar el control al .ormulario
&) 'lic sobre la opciAn Nuevo Socio " En las :ropiedades busca Image: Socio%pngH Agrega im3genes para alquilar y (evolver% /) Selecciona la propiedad ImageScaling ;Esto es para que tome las im3genes en tama2o real) 1) :ropiedad ?ont 8ama2o: < y Activar Negrita E) 'ambiar la Imagen de ?ondo% :ropiedad m3s o menos esta apariencia: % Al terminar tendr3
F) Agregar una barra de estado F%a Selecciona el control F%b En las propiedades pegue a la parte in.erior del .ormulario% esto es para que el panel se
F%c 'olocar un en el panel% F%d 'on la propiedad Image agregar una imagen Si4e9ode: Autosi4e ;:ara que auto a7uste su tama2o)
:3gina E
Anc!or: :ara que cambie cuando intentamos !acer m3s anc!o el .ormulario
*DISE&AR CADA UNA DE LAS PANTALLAS *o m3s recomendable es crear plantillas de .ormularios a partir de estas plantillas de.inir el resto de .ormularios de nuestra aplicaciAn% 1) A2adir un ?ormulario I'lic derec!o sobre el nombre del proyecto en la ventana de explorador de soluciones " Agregar " JindoKs ?orm INombre: :lantilla?orm%vb I'lic al botAn Agregar% 2) 'ambiar las siguientes propiedades:
;(etermina si el .ormulario tiene un cuadro menC) &) Agregar una *abel y cambiar las siguientes propiedades: 5ac='olor ?ore'olor ?ont (es=top 5lanco 1/ Negrita 'ursiva :3gina F
Anc!or
Nuestro ?ormulario al .inal tendr3 m3s o menos la misma apariencia que la .igura de la derec!a%
*Im'lemen ar un (ormulario que u ilice la Plan illa 1) Agregar un Nuevo ?ormulario Nombre: NuevoSocio?orm%vb 2) Visuali4ar el cAdigo que genera autom3ticamente visual studio 2001 I'lic al icono #9ostrar 8odos los Arc!ivos$ IEn la ventana del explorador de soluciones abra el .ormulario nuevo socio
I)riginalmente el .ormulario se deriva de la clase ?orm% Vamos a cambiar la !erencia para que derive de la clase :lantilla?orm
:3gina G
N)8A: )bserva que !emos derivado toda la inter.a4 gr3.ica del .ormulario plantilla en el .ormulario nuevosocio.orm% Sin embargo note que cuando selecciona la etiqueta para modi.icarla las propiedades aparecen desactivadas esto es por la propiedad 9odi.iers del .ormulario :lantilla% IEn el ?ormulario :lantilla?orm 'on esto le estamos diciendo a visual que las clases derivadas de este .ormulario van a poder ser accedidas desde los .ormularios !i7os% I-egrese al .ormulario NuevoSocio?orm y !aga las siguientes modi.icaciones: :ara la *abel cambie la propiedad 8ext: Nuevo Socio IAgregue 2 .ormularios m3s: 1%I Alquiler?orm cambie la !erencia para que derive de la :lantilla?orm y la propiedad 8ext del *abel Alquilar% 2%I (evolver?orm *abel L (evolver '3mbiele a todos la propiedad JindoKState: 9aximi4e para que los .ormularios se abran maximi4ados dentro del .ormulario 9(I% IBuarde todo su proyecto% *Llamar a cada (ormulario de)de el (ormulario MDI* 1%I -egrese al .ormulario principal ?orm1%vb 2%I 6aga doble clic sobre cada opciAn del menC &%I Escriba el siguiente cAdigo:
Public Class Form1 Private Sub NuevoSocioToolStripMenuItem_Click(ByVal sen er !s System"#b$ect% ByVal e !s System"&vent!r's( )an les NuevoSocioToolStripMenuItem"Click My"Forms"NuevoSocioForm"M iParent * Me My"Forms"NuevoSocioForm"S+o,(( &n Sub Private Sub !l-uilerToolStripMenuItem_Click(ByVal sen er !s System"#b$ect% ByVal e !s System"&vent!r's( )an les !l-uilerToolStripMenuItem"Click My"Forms"!l-uilarForm"M iParent * Me My"Forms"!l-uilarForm"S+o,(( &n Sub
:3gina <
Private Sub .evolucionesToolStripMenuItem_Click(ByVal sen er !s System"#b$ect% ByVal e !s System"&vent!r's( )an les .evolucionesToolStripMenuItem"Click My"Forms".evolverForm"M iParent * Me My"Forms".evolverForm"S+o,(( &n Sub &n Class
Buarde todo% *CREAR UN $ORMULARIO PARA CADA TABLA Existen dos .ormas de crear la inter.ace gr3.ica de un .ormulario asociado a una tabla: 1) A2adiendo los controles manualmente% 2) 'rearlo autom3ticamente Vamos a crear la inter.ace para la tabla: S)'I)S utili4ando la .orma autom3tica visuali4aremos el cAdigo que visual net genera y luego lo vamos a personali4ar% :-)'E(I9IEN8): a) Abra el .ormulario NuevoSocio?rm%vb b) En la ventana del explorador de proyectos !aga clic sobre la .ic!a #)r>genes de (atos$ c) Aparecer3 la siguiente ventana: -ecordemos que !emos creado las .uentes de datos las cuales est3n desconectadas de la base de datos y guardan su in.ormaciAn en memoria% d) Seleccionaremos el origen de datos Socios(S si lo abrimos aparece la .uente de datos ;es una copia de la tabla)% (e manera autom3tica me presenta un grid ;re7illa) para mostrar los datos de la tabla pero nosotros necesitamos que nos lo muestre en .orma de labels y textboxs asi que !acemos clic sobre la .lec!a !acia aba7o y seleccionamos la .orma de tabla ;(etalles) e) Arrastra con clic sostenido al .ormulario S)'I)S% Esto crea una instancia del (ataset y del adaptador y creara todos los controles necesarios para introducir esa entidad%
:3gina 10
.) 8ambiDn se a2ade un 8ool5ar ;5arra de 6erramientas) de manera autom3tica% 6a4 clic derec!os sobre la etiqueta Nuevo Socio " Enviar al ?ondo
E7ecute su aplicaciAn ;?1) Esta barra nos va a permitir movernos por los di.erentes registros de nuestro .ormulario% -ecuerde que estamos desconectados de la base de datos esta in.ormaciAn esta en memoria% )ODI(ICAR EL CODI*O *ENERADO $OR VISUAL STUDIO I)cultar la 8ool5ar ;:ropiedad Visible: ?alse) IAgregar un 5utton a travDs del cual guardaremos el registro 8ext: Buardar I6acer doble clic sobre el .ormulario para visuali4ar el cAdigo que !a generado Visual%
Public Class NuevoSocioForm Private Sub S#CI#SBin in'Navi'atorSaveItem_Click(ByVal sen er !s System"#b$ect% ByVal e !s System"&vent!r's( )an les S#CI#SBin in'Navi'atorSaveItem"Click Me"Vali ate(( Me"S#CI#SBin in'Source"&n & it(( Me"Table! apterMana'er"/p ate!ll(Me"Socios.S( &n Sub
Private Sub NuevoSocioForm_0oa (ByVal sen er !s System"#b$ect% ByVal e !s System"&vent!r's( )an les MyBase"0oa 1T#.#2 T+is line o3 co e loa s ata into t+e 1Socios.S"S#CI#S1 table" 4ou can move% or remove it% as nee e " Me"S#CI#STable! apter"Fill(Me"Socios.S"S#CI#S( &n Sub &n Class
:3gina 11
Agrego dos procedimientos: MEl primero almacena los cambios y se e7ecuta cuando !acemos clic sobre el Icono SAVE de la 8ool5ar% MEl segundo carga todos los datos todos los socios en el dataset de socios para mostrarlos en el .ormulario y se e7ecuta cuando se carga ;?ormN*oad) el .ormulario% 9odi.icar el cAdigo para que al cargar el .ormulario se abra un nuevo registro en blanco% @ al dar clic sobre el botAn Buardar guarde con el mDtodo ,:(A8E%
IAgregar un 5otAn 'ancelar 8ext: 'ancelar IEn las propiedades del ?ormulario NuevoSocio?orm Accept5utton: 5utton1 ;:ara que acepte al presionar EN8E-) 'ancel5utton: 5utton2 ;:ara que cancele al presionar ES') :rueba tu AplicaciAn% N)8A: El inconveniente de esto es que no !emos validado nada de lo que !icimos permitiendo que se ingresen datos no v3lidos o se de7en en blanco campos con in.ormaciAn importante como el nCmero de socio% +ALIDACIONES Estas se reali4an con el ob7etivo de evitar que el usuario introdu4ca valores incorrectos o de7e en blanco el campo% En Nuestro e7emplo validaremos los datos antes de llev3rnoslo a la base de datos% 'omen4aremos validando el IdSocio para ello utili4aremos un control llamado 9as=ed8ext5ox% $ASOS:
:3gina 12
de
2) Abre el origen Socios(s luego Socios% Selecciona el campo IdSocio !a4 clic sobre la .lec!a !acia aba7o y selecciona 9as=ed8ext5ox% &) Si no aparece en la lista selecciona personali4arO%"c!equea 9as=ed8ext5ox y Aceptar% /) 'omo se !a cambiado la con.iguraciAn debe eliminar el textbox del IdSocio y volverlo a arrastrar% 1) 8eniendo seleccionado el 8ext5ox busca en las propiedades:
!a4 clic en el cuadro con & puntitos% E) En la opciAn escribe *000% *a * indica que se debe iniciar con una letra y los 0 que continCan valores numDricos% F) Buarde y pruebe la m3scara% N)8A: :ara que permita que el .oco avance al siguiente text cambia la propiedad del .ormulario AutoValidate: EnableAllo+(o'u#C,an-e
Val dar la# 'a.a# de "e/"o de nombre 0 a!ell do !ara e& "ar 1ue el u#uar o la# de.e en blan'o. 1) Seleccione la ca7a de texto del nombre y clic en y seleccione el mDtodo
:3gina 1&
2) 6acer lo mismo con el textbox de apellido% :odemos agregar un control m3s poderoso para que nos indique los errores% :ara este e7emplo agregaremos un Error:rovider% Este control asocia a un control un error determinado de tal .orma que aparecer3 un icono de error al lado del control que tiene ese error% $ASOS: 1%I Agregue al ?ormulario NuevoSocio un Error:rovider 2%I Ingrese al mDtodo val>dating del control Nombre8ext5oxO%
Private Sub NombreTe5tBo5_Vali atin'(ByVal sen er !s System"#b$ect% ByVal e !s System"ComponentMo el"Cancel&vent!r's( )an les NombreTe5tBo5"Vali atin' I3 NombreTe5tBo5"Te5t"0en't+ * 6 T+en e"Cancel * True &rrorProvi er1"Set&rror(NombreTe5tBo5% 7Intro u8ca un Nombre7( &lse &rrorProvi er1"Set&rror(NombreTe5tBo5% Not+in'( &n I3 &n Sub Private Sub !pelli osTe5tBo5_Vali atin'(ByVal sen er !s System"#b$ect% ByVal e !s System"ComponentMo el"Cancel&vent!r's( )an les !pelli osTe5tBo5"Vali atin' I3 !pelli osTe5tBo5"Te5t"0en't+ * 6 T+en e"Cancel * True &rrorProvi er1"Set&rror(!pelli osTe5tBo5% 7Intro u8ca los !pelli os7( &lse &rrorProvi er1"Set&rror(!pelli osTe5tBo5% Not+in'( &n I3 &n Sub
:3gina 1/
2%I :rogramaremos el botAn para que cuando el usuario !aga clic sobre Dl apare4ca otro .ormulario con in.ormaciAn sobre los socios del videoclub% &%I Agregar al proyecto un nuevo .ormulario% Nombre: SeleccionSocio?orm 'rea el siguiente dise2o visual:
El 3rea gris es un (ataBridVieK ;re7illa) en donde deseamos visuali4ar los datos de los socios introducidos en el cuadro nombre% Necesitamos vincular el grid con la tabla socios%
:3gina 11
/%I :rogramar el botAn 5,S'A- para reali4ar la bCsqueda de socios por nombre% /%a%I 'rearemos un .iltro en nuestra capa de acceso a datos% I 6aga clic en la .ic!a #)r>genes de (atos$% I En el )rigen seleccionar !acer clic sobre la .lec!a !acia aba7o y % El Cnico .iltro que tenemos es el que nos env>a todos los registros de la tabla al B-I(% Vamos a crear una nueva consulta% I 6aga clic derec!o sobre el nombre de la tabla ;Socios) y seleccione #Agregar$ " +ueryO IAparecer3 un asistente% Selecciona 'lic en
IIngresara a la Ventana del Benerador de 'onsulta% En la ?ila del Nombre 'olumna ?iltro escriba: *i=e @Nombre
:3gina 1E
para probarla:
:3gina 1F
I?inali4ar y 'lic al icono #Buardar 8odo$ A)ociar el -o "n BUSCAR con el $il ro creado an eriormen e* 1%I 6acer doble clic sobre el botAn 5,S'A-% 2%I Escriba el siguiente cAdigo :rivate Sub 5utton1N'lic= ;5yval sender As System%ob7ect 5yVal e As System%EventArgs) So' o#TableAda!"er.( llB0Nombre 2So' o#DS.So' o#3 456 7 Te/"Bo/8 7 4569 End Sub Llamar al Formulario BuscarSocio desde el Formulario Alquilar. 1%I6acer doble clic sobre el botAn y escriba el siguiente cAdigo:
:3gina 1G
:3gina 1<