Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tecnologia Cliente Servidor Con Java PDF
Tecnologia Cliente Servidor Con Java PDF
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
INDICE
Introduccin Programacin Cliente Servidor Herramientas para la Programacin Cliente Servidor Arquitectura Cliente Servidor Conectividad a la ase de !atos con "! C ase de !atos $so del %ntorno &et'eans para cone(in a 02 03 04 06 0# )6 26 3# 30 66 44 50
Acceso de la 'ase de datos * el paquete +ava,sql -'+eto de control ".a'le en mantenimiento de datos S/ing0 1en2s * mantenimiento de datos usando varias ta'las 1antenimiento de datos usando procedimientos almacenados .ransacciones * 2squedas con 'ase de datos consulta de datos usando el o'+eto ".a'le
P)%ina * de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
INTRODUCCION
6a tecnolog7a llamada Cliente 8Servidor es actualmente utili9ada en casi todas las aplicaciones administrativas e Internet8Intranet, a+o este esquema0 un servidor es un ordenador remoto0 en alg2n lugar de una red0 que proporciona in:ormacin seg2n se le solicite, 1ientras que un cliente :unciona en su computadora local0 se comunica con el servidor remoto * pide a ;ste in:ormacin, 6os sistemas Cliente<Servidor pueden ser de muc=os tipos0 pues esto depende principalmente de las aplicaciones instaladas en el propio servidor, %ntre otros0 e(isten> servidores de impresin mediante los cuales los usuarios comparten impresoras0 servidores de arc=ivos con los que los clientes comparten discos duros0 servidores de 'ases de datos donde e(iste una 2nica 'ase de datos que es consultada por los clientes * puede o no ser modi:icada por ellos * servidores ?e' que utili9an tam'i;n la tecnolog7a Cliente8Servidor0 aunque a@aden aspectos nuevos * propios a la misma, 6os servidores /e' qui9As actualmente son los de ma*or importancia, $n servidor /e' es aquel que permite a los clientes compartir datos0 documentos * multimedia en :ormato /e', Aunque parte de la tecnolog7a Cliente8Sevidor0 el servidor ?e' aporta venta+as adicionales a un servidor tradicional,
%l
Cliente
Servidor
con "ava es
un
manual
orientado al conocimiento del lengua+e "ava0 utili9ando como entorno de desarrollo &et eans * un gestor de 'ases de datos de pre:erencia 1*Sql, %n este manual se =arA una presentacin * estudio de las inter:aces visuales a trav;s de "ava como lengua+e de programacin, %l manual tendrA 03 temas :undamentales0 la primera es el BAcceso de !atosC0 la segunda es B1antenimiento de !atosC * la tercera BConsultas e In:ormesC,
P)%ina - de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
P)%ina . de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
/erramien#a
.enemos> Sockets
Implementados en todos los sistemas operativos modernos, Comunican dos procesos que pueden estar alo+ados en dos mAquinas di:erentes, %l cliente de'e conocer la mAquina * el puerto donde se u'ica el servidor, Se de'e esta'lecer un protocolo cliente8servidor para el correcto :uncionamiento de la aplicacin,
RPCs asado en SocGets, A'strae al programador del uso de SocGets, Sigue siendo necesaria la distincin del cdigo cliente * del cdigo servidor,
1. C-H A>
%s necesario que e(ista una versin de C-H A para la plata:orma donde se quiere implementar, Ventajas> I I I Soporta m2ltiples plata:ormas * lengua+es de programacin, !ispone de una gran cantidad de servicios !e:inida por un organismo serio e independiente
2. &%.
Ventajas> I Soporta m2ltiples plata:ormas I JAcil proceso de desarrollo EKisual Studio ,&etF I %ntorno ?indo/s mu* e(tendido, I uen marGeting
Inconvenientes> I %(clusiva del sistema operativo ?indo/s I Propia de 1icroso:t I Casi ninguna implementacin li're,
P)%ina 2 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
3. "AKA %%
Ventajas> I Soporta para m2ltiples plata:ormas * sistemas operativos I Avalado por m2ltiples empresas ES$&0 I 10 -HAC6%0 etcF I Competitividad I Soluciones 6i'res Inconvenientes> I %(clusivo para el lengua+e "ava I Comple+idad relativa en el desarrollo de aplicaciones I &o e(iste un entorno de desarrollo :i+o,
aplicaciones, I 6gica de los datos> !e:inicin lgica de los datos Evistas0 ta'las0 tipos de datos0 claves0 etc,F I Lestor de !atos> %ncargada de escri'ir * acceder a la 'ase de datos,
P)%ina 4 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica 2 capas ECliente Servidor tradicionalF
%l modelo de 3 capas esta 'asado en o'+etos> Clientes> Mue son aplicaciones propias 6gica de &egocio * de !atos> -'+etos distri'uidos
6gica de &egocio * de !atos> Leneracin dinAmica de contenidos en lengua+e H.160 N160 (H.16,
P)%ina 5 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
67$8 e $n JD9C:
6a conectividad de la 'ase de datos de "ava E JD9C ; "ava !ata'ase Connectivit*F es un marco de programacin para los desarrolladores de "ava que escri'en los programas que tienen acceso a la in:ormacin guardada en 'ases de datos0 =o+as de calculo0 * arc=ivos OplanosO, "! C se utili9a com2nmente para conectar un programa del usuario con una 'ase de datos por BdetrAs de la escenaC0 sin importar qu; so:t/are de administracin o mane+o de 'ase de datos se utilice para controlarlo, Para la gente del mundo ?indo/s0 "! C es para "ava lo que OD9C es para ?indo/s, ?indo/s en general no sa'e nada acerca de las 'ases de datos0 pero de:ine el estAndar -! C consistente en un con+unto de primitivas que cualquier driver o :uente -! C de'e ser capa9 de entender * manipular, 6os programadores que a su ve9 deseen escri'ir programas para mane+ar 'ases de datos gen;ricas en ?indo/s utili9an las llamadas -! C, Con "! C ocurre e(actamente lo mismo> "! C es una especi:icacin de un con+unto de clases * m;todos de operacin que permiten a cualquier programa "ava acceder a sistemas de 'ases de datos de :orma =omog;nea, 6gicamente0 al igual que -! C0 la aplicacin de "ava de'e tener acceso a un driver "! C adecuado, %ste driver es el que implementa la :uncionalidad de todas las clases de acceso a datos * proporciona la comunicacin entre el API "! C * la 'ase de datos real, -! C es un inter:a9 escrito en lengua+e C0 que al no ser un lengua+e porta'le0 =ar7a que las aplicaciones "ava tam'i;n perdiesen la porta'ilidad, P ademAs0 -! C tiene el inconveniente
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a Tecn!"!%&a C"ien#e'Servid!r c!n Java E.A.P. Si #ema e In(!rm)#ica de que se =a de instalar manualmente en cada mAquinaD al contrario que los drivers "! C0 que al estar escritos en "ava son automAticamente instala'les0 porta'les * seguros, 6a conectividad de 'ases de datos de "ava se 'asa en sentencias SM60 por lo que se =ace imprescindi'le un conocimiento adecuado de SM6 para reali9ar cualquier clase de operacin de 'ases de datos, Aunque0 a:ortunadamente0 casi todos los entornos de desarrollo "ava o:recen componentes visuales que proporcionan una :uncionalidad su:icientemente potente sin necesidad de que sea necesario utili9ar SM60 aunque para usar directamente el "!Q se =aga imprescindi'le Acce ! a =a e de da#! c!n JD9C A continuacin vemos los modelos di:erentes de acceso a 'ase de datos> M!de"! de * ca0a %l presente modelo se 'asa en que la cone(in se presenta entre la aplicacin "ava o el applet Eque se e+ecuta en el navegadorF0 se conectan directamente a la 'ase de datos,
Como sa'emos en "ava se puede tener dos tipos de aplicaciones> la aplicacin "ava propiamente dico * una aplicacin applet0 esta 2ltima que se e+ecuta en un navegador, -'servamos en la :igura que el driver o controlador "! C de'e residir en la computadora local, 6a 'ase de datos puede estar en cualquier otra mAquina * se accede a ella mediante la red, %sta es la con:iguracin de t7pica Cliente8Servidor> el programa cliente env7a instrucciones SM6 a la 'ase de datos0 ;sta las procesa * env7a los resultados de vuelta a la aplicacin M!de"! de - ca0a %l presente modelo0 las instrucciones son enviadas a una capa intermedia entre Cliente * Servidor0 que es la que se encarga de enviar las sentencias SM6 a la 'ase de datos * recoger el resultado desde la 'ase de datos, %n este caso el usuario no tiene contacto directo0 ni a trav;s de la red0 con la mAquina donde reside la 'ase de datos,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Comparando con el modelo anterior0 se o'serva que el driver o controlador "! C se encuentra +unto al servidor de aplicaciones0 esto =ace que la mAquina del cliente no se preocupe por instalar el controlador, %l nivel intermedio mantiene en todo momento el control del tipo de operaciones que se reali9an contra la 'ase de datos, C"a i(icacin de "! Driver %l driver "! C puede pertenecer a una de las siguientes categor7as> P$en#e JD9C-OD9C $tili9ada por Sun inicialmente para populari9ar "! C * consiste en aprovec=ar todo lo e(istente0 esta'leciendo un puente entre "! C * -! C, %ste driver convierte todas las llamadas "! C a llamadas -! C * reali9a la conversin correspondiente de los resultados,
P)%ina +, de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
6a venta+a de este driver0 que se proporciona con el "!Q0 es que "ava dispone de acceso inmediato a todas las :uentes posi'les de 'ases de datos * no =a* que =acer ninguna con:iguracin adicional aparte de la *a e(istente, 6a desventa+a estA en que es lenta * no serA posi'le ser usada en el sistema operativo 6inu(, Java 9inari!
%ste driver se salta la capa -! C * =a'la directamente con la li'rer7a nativa del :a'ricante del sistema ! 1S Ecomo pudiera ser DB-Library para 1icroso:t SM6 Server o CTLib para S*'ase SM6 ServerF, %ste driver es un driver con las limitaciones * pro'lemas que esto implica, 100% ava pero a2n as7 necesita la e(istencia de un cdigo 'inario Ela li'rer7a ! 1SF en la mAquina del cliente0
+,,? Java@Pr!#!c!"! Na#iv! %ste driver es reali9ado completamente en "ava que se comunica con el servidor ! 1S utili9ando el protocolo de red nativo del servidor, !e esta :orma0 el driver no necesita intermediarios para =a'lar con el servidor * convierte todas las peticiones "! C en peticiones de red contra el servidor, 6a venta+a de este tipo de driver es que es una solucin 100% ava *0 por lo tanto0 independiente de la mAquina en la que se va a e+ecutar el programa
P)%ina ++ de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
6a 2nica desventa+a de este tipo de drivers es que el cliente estA ligado a un servidor ! 1S concreto, +,,? Java@Pr!#!c!"! Inde0endien#e
Hequiere la presencia de un intermediario en el servidor, %n este caso0 el driver "! C =ace las peticiones de datos al intermediario en un protocolo de red independiente del servidor ! 1S, %l intermediario a su ve90 que estA u'icado en el lado del servidor0 convierte las peticiones "! C en peticiones nativas del sistema ! 1S, 6a venta+a de este m;todo es inmediata> el programa que se e+ecuta en el cliente0 * aparte de las venta+as de los drivers 100% ava0 tam'i;n presenta la independencia respecto al sistema de 'ases de datos que se encuentra en el servidor, Car%ar e" c!n#r!"ad!r JD9C Para tra'a+ar con el API "! C se tiene que importar el paquete Aava. 3"0 tal * como se indica a continuacin> import +ava,sql,RD %n este paquete se de:inen los o'+etos que proporcionan toda la :uncionalidad que se requiere para el acceso a 'ases de datos, %l siguiente paso despu;s de importar el paquete +ava,sql consiste en cargar el controlador "! C0 es decir un o'+eto Driver espec7:ico para una 'ase de datos que de:ine cmo se e+ecutan las instrucciones para esa 'ase de datos en particular, Ha* varias :ormas de =acerlo0 pero la mAs sencilla es utili9ar el m;todo (!rNameBC de la clase C"a > Class,:or&ameEOControlador "! COFD Para el caso particular del controlador para 1*SM60 Connector8"0 se tiene lo siguiente> C"a .(!rNameBDc!m.mE 3".Ad=c.DriverDCF
P)%ina +* de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
!e'e tenerse en cuenta que el m;todo estAtico :or&ameEF de:inido por la clase Class genera un o'+eto de la clase especi:icada, Cualquier controlador "! C tiene que incluir una parte de iniciacin estAtica que se e+ecuta cuando se carga la clase, %n cuanto el cargador de clases carga dic=a clase0 se e+ecuta la iniciacin estAtica0 que pasa a registrarse como un controlador "! C en el DriverMana%er, %s decir0 el siguiente cdigo> Class,:or&ameEOControlador "! COFD es equivalente a> Class c S Class,:or&ameEOControlador "! COFD !river driver S E!riverFc,ne/InstanceEFD !river1anager,register!riverEdriverFD Algunos controladores no crean automAticamente una instancia cuando se carga la clase, Si :or&ameEF no crea por s7 solo una instancia del controlador0 se tiene que =acer esto de manera e(pl7cita> Class,:or&ameEOControlador "! COF,ne/InstanceEFD !e nuevo0 para el Connector8"> C"a .(!rNameBDc!m.mE 3".Ad=c.DriverDC.neGIn #anceBCF %n toda aplicacin de 'ases de datos con 1*SM6 es indispensa'le poder esta'lecer la cone(in al servidor para posteriormente enviarle las consultas, 6os programas en "ava no son la e(cepcin, %l siguiente cdigo nos servirA para veri:icar que podemos esta'lecer una cone(in a nuestra 'ase de datos #ran 0!r#e import +ava,sql,RD pu'lic class .estConnection T Static String 'dSCtransportesCD static String loginSC'ingoCD static String pass/ordSC=olaCD static String urlSC+d'c>m*sql>88local=ost8CU'dD pu'lic static void mianEStringV W argsFt=ro/s I-%(ception T Connection conn S nullD tr* T Class,:or&ameEBcom,m*sql,+d'c,!riverF,ne/InstanceEFD conn S !river1anager,getConnectionEurl0login0pass/ordFD i: Econn XS nullF T S*stem,out,printlnEBCone(in a la 'ase de datos CU'dUC,,, -QCFD conn,closeEFD Y Ing. Mirko Manrique Ronceros P)%ina +- de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a Tecn!"!%&a C"ien#e'Servid!r c!n Java E.A.P. Si #ema e In(!rm)#ica Y catc=ESM6%(ception e(F T S*stem,out,printlnEe(FD Y catc=EClass&otJound%(ception e(F T S*stem,out,printlnEe(FD Y Y Y %n esta programacin se inicia importanto el paquete sql perteneciente a +ava, %l signo del asterisco signi:ica que el programa puede =acer uso de culaquier clase contenida en el paquete sql, Se constru*e la clase .e(tConnection0 esta'leciendo 4 varia'les o atri'utos de tipo String donde se almacena el nom're de la 'ase de datos0 el login0 la contrase@a o pass/ord * el url, $na ve9 en el m;todo principal llamado main se declara la varia'le o'+eto conn * a trav;s de la instruccin tr* se 'usca proteger la e+ecucin ante posi'les errores Elo que se denomina mane+o de e(cepcionesF, Con la instruccin> Class,:or&ameEBcom,m*sql,+d'c,!riverF,ne/InstanceEFD0 se esta'lece el driver para el gestor de 'ase de datos 1*Sql, 6uego en la siguiente l7nea de programacin se esta'lece la cone(in con la 'ase de datos a trav;s del m;todo getConnection perteneciente a la clase !river1anager, A trav;s de la sentencia selectiva i: se eval2a el ;(ito de la cone(in0 por lo tanto0 si la varia'le conn es di:erente de null signi:ica que se logr la cone(in0 caso contrario se mostrarA mensa+es de error0 gracias a la instruccin catc=, A continuacin se listan algunas de las salidas que se pueden o'tener al e+ecutar el programa anterior> V'luemanZcasitaW[ +ava .estConnection Cone(in a 'ase de datos +d'c>m*sql>88local=ost8agendita ,,, -G Esigni:ica> .odo :unciona 'ienF V'luemanZcasitaW[ com,m*sql,+d'c,!river ESeguramente no se =a puesto la ruta al arc=ivo connector,+ar en la varia'le de am'iente C6ASSPA.HF V'luemanZcasitaW[ +ava .estConnection +ava,sql,SM6%(ception> Invalid aut=ori9ation speci:ication> Access denied :or user> \'ingoZlocal=ost\ E$sing pass/ord> P%SF Ing. Mirko Manrique Ronceros P)%ina +. de +,, +ava .estConnection +ava,lang,Class&otJound%(ception>
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
E%l login o el pass/ord proporcionados no nos permiten el acceso al servidorF V'luemanZcasitaW[ +ava .estConnection +ava,sql,SM6%(ception> &o suita'le driver EPro'a'lemente se =a escrito de :orma incorrecta el $H6 para la 'ase de datosF
V'luemanZcasitaW[ +ava .estConnection +ava,sql,SM6%(ception> Leneral error> Access denied :or user> \'ingoZlocal=ost\ to data'ase \transportes\ EPro'a'lemente se =a escrito de manera incorrecta el nom're de la 'ase de datosF
P)%ina +2 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
1. 2.
Agregarle a &et eans el conector como una 'i'lioteca o li'rer7a, %sto permite que el conector este disponi'le para los pro*ectos, Agregarle a un pro*ecto el conector, %sto permite que la aplicacin se pueda conectar a la 'ase de datos,
A continuacin procedemos agregarle a &et eans un conector a una 'ase de datos 1*Sql> a, Seleccione la opcin .ools86i'raries de la 'arra de men2 del entorno de &et eans,
P)%ina +4 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
b.
&et eans, %n la ventana0 al lado i9quierdo o'serva li'rer7as agregadas &et eans, lado a !el se las
derec=o
aparece el nom're de la 'i'lioteca * la tra*ectoria del arc=ivo con la 'i'lioteca, Para agregar el conector a 1*SM6 a &et eans presione el 'otn de comando NeG Li=rarE ...
b. Se
cierra *
el
cuadro a
de la
diAlogo
volvemos
ventana anterior donde se o'servarA la nueva li'rer7a MES7L, 'otn de Posteriormente comando Add procedemos a dar clic en el JAR@F!"der ...
P)%ina +5 de +,,
c.
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a Tecn!"!%&a C"ien#e'Servid!r c!n Java E.A.P. Si #ema e In(!rm)#ica uscamos el conector mE 3"-c!nnec#!r-Aava--.+.5- =in.Aar
d. Al dar clic en Add "AH8Jolder volvemos a la ventana anterior, Ca'e se@alar que en las
2ltimas versiones de &et eans *a e(iste una li'rer7a o 'i'lioteca para la cone(in a una 'ase de datos de 1*Sql0 denominada MYS L !"#C "river.
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
P)%ina *, de +,,
7)
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a Tecn!"!%&a C"ien#e'Servid!r c!n Java E.A.P. Si #ema e In(!rm)#ica A=ora procedemos a la conce(in de una 'ase de datos0 que en este caso serA la 'ase de datos transportes0 la misma que *a se encuentra creada con+untamente con las ta'las de Ciudad * Huta, Seleccionamos la pesta@a Service la carpeta !rivers, * en
!ata'ases seleccionamos
8) Para agregar el concetor MES7L0 =aga clic en el 'otn derec=o del mouse en el
nodo o carpeta !rivers * seleccione la opcin NeG Driver.
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
P)%ina ** de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
14) Se muestra un cuadro de diAlogo para esta'lecer el $H6 de la 'ase de datos usando
el siguiente :ormato> Ad=c1mE 3"1@@servidor1puerto@baseDatos donde servidor es la direccin IP Eo nom're de dominio del servidorF0 en caso que el servidor est; en la misma computadora que &et eans utili9a el nom're> "!ca"K! #D puerto es el puerto empleado por el servidor, Si el servidor utili9a el puerto prede:inido0 se puede omitirD baseDatos es la 'ase de datos a la que se desea conectar,
15) !amos clic en el 'otn de comando -Q, A continuacin aparecerA una ventana
con:irmando la cone(in con la 'ase de datos de campeonatoue:a, 6uego damos clic en el 'otn de comando OJ,
P)%ina *- de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
P)%ina *. de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
P)%ina *2 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
USO DEL ENTORNO DE NETBEANS PARA EL ACCESO DE LA BASE DE DATOS Y EL PAQUETE JAVA.SQL
Acce ! a "a =a e de da#! de de Ne#9ean
&et eans nos permite =acer operaciones so're la 'ase de datos como crear * 'orrar ta'las0 agregar * eliminar columnas0 agregar0 modi:icar * eliminar registros de datos como reali9ar consultas, Kamos a proceder =acer algunas operaciones> ), %(panda el nodo con la cone(in a la 'ase
de datos,
2,
carpetas Kie/s
P)%ina *4 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica 3,
4, Kamos a proceder a crear la ta'la de %quipo con los campos codequipo int0 nom're OJ, varc=arE40F0 representante varc=arE32F0 entrenador varc=arE40F0 grupo c=arE)F * estado 'it, $na ve9 indicado los campos damos clic en el 'otn de comando
3,
Kolvemos al entorno de &et eans * o'servamos en la pesta@a de Services la nueva ta'la de %quipo,
P)%ina *5 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
6,
Si deseamos insertar un registro a una de las ta'las a trav;s del comando in er#0 seleccionamos el nodo re:erido a .a'les, !ando clic 'otn derec=o se muestra un men2 :lotante * luego seleccionamos la opcin EIec$#e C!mmand...
4,
%scri'imos el comando para insertar un nuevo registro en la ta'la de %quipo0 luego procedemos a e+ecutarlo,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica #,
6uego si escri'imos el comando select para consultar los datos de la ta'la Ciudad0 o'servaremos el contenido de dic=a ta'la,
Como verAn el entorno de &et eans nos o:rece la oportunidad de acceder * manipular los datos * las estructuras de los elementos que con:orman una 'ase de datos, A=ora ustedes mismos0 en 'ase a la e(periencia de los conocimeintos adquiridos en los cursos re:erentes a 'ase de datos0 procedan a e(perimientar el entorno grA:ico que nos o:rece &et eans,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
pass/ordF t=ro/s %l primero de los m;todos reci'e como parAmetro la direccin $H6 que identi:ica la 'ase de datos, %n el caso en que sea necesario proporcionar un usuario * una contrase@a para acceder a la 'ase de datos Ecomo sucede en 1*SqlF se utili9a el segundo de los m;todos, $na direccin $H6 "! C proporciona un m;todo de locali9acin de 'ases mu* parecido al que representan las direcciones $H6 que identi:ican sitios ?e' de Internet, 6os controladores "! C tienen que ser capaces de conectar con la 'ase de datos a partir de la in:ormacin contenida en la direccin $H6 "! C de la misma0 por lo que son los desarrolladores los que :i+an en la ma*or7a de los casos la sinta(is, I 6a inter:a9 Connection0 cuando se utili9a uno de los m;todos anteriormente mencionados se o'tiene un o'+eto de tipo Connection que representa como es de esperar la cone(in con la 'ase de datos, %l o'+eto o'tenido cuenta con varios m;todos, !os de los mAs importantes son> pu'lic a'stract Statement createStatementEF t=ro/s SM6%(ception pu'lic a'stract void closeEF t=ro/s SM6%(ception %l primero de los m;todos sirve para crear un o'+eto del tipo Statement, 6as :rases SM6 se e+ecutan normalmente mediante la utili9acin de o'+etos del tipo Statement, Jinalmente0 es conveniente cerrar las cone(iones tan pronto como de+en de utili9arse para li'erar recursos, &o o'stante0 =a de tenerse en cuenta que esta'lecer una cone(in es una operacin costosa0 por lo que tampoco se de'e estar a'riendo * cerrando la cone(in con :recuencia,
P)%ina -, de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica I 6a inter:a9 State%ent0 los o'+etos de
e:ectuar operaciones de actuali9acin0 'orrado o insercin de datos, %n algunos casos es interesante tam'i;n :i+ar ciertos parAmetros vinculados con la consulta que se desea reali9ar0 como por e+emplo el tiempo que estamos dispuestos a esperar a que el gestor de la 'ase de datos devuelva el resultado de la consulta, 6os m;todos que se citan a continuacin son algunos de los mAs importantes para llevar a ca'o todas estas acciones, pu'lic a'stract HesultSet e(ecuteMuer*EString sqlF t=ro/s SM6%(ception %+ecuta una sentencia S%6%C. * devuelve el resultado mediante la inter:a9 HesultSet pu'lic a'stract int e(ecute$pdateEString sqlF t=ro/s SM6%(ception %+ecuta una sentencia $P!A.%0 !%6%.%0 I&S%H. o cualquier otra sentencia SM6 que la sentencia, pu'lic a'stract void set1a(Ho/sEint ma(F t=ro/s SM6%(ception %sta'lece el n2mero mA(imo de registros que puede devolver e(ecuteMuer*EF pu'lic a'stract int get1a(Ho/sEF t=ro/s SM6%(ception !evuelve el n2mero mA(imo de registros que puede devolver e(ecuteMuer*EF pu'lic a'stract void setMuer*.imeoutEint secondsF t=ro/s SM6%(ception %sta'lece el tiempo en segundos que el controlador esperarA =asta que el sistema gestor de 'ases de datos devuelva un resultado pu'lic a'stract int getMuer*.imeoutEF t=ro/s SM6%(ception !evuelve el tiempo en segundos que el controlador esperarA =asta que el sistema gestor de 'ases de !atos devuelva un resultado pu'lic a'stract void closeEF t=ro/s SM6%(ception 6i'era los recursos asociados a la sentencia I 6a inter:a9 ResultSet0 el m;todo e(ecuteMuer* que se utili9a para e+ecutar con no
sentencias SM6 devuelve un o'+eto de tipo HesultSet, ]ste contiene las :ilas o registros o'tenidos al e+ecutar una sentencia S%6%C., Para recuperar los datos contamos Ing. Mirko Manrique Ronceros
P)%ina -+ de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
muc=as opciones, .odos los m;todos :uncionan de la misma manera, .oman como parAmetro el 7ndice o el nom're del campo que se desea o'tener * devuelven el dato en cuestin, pu'lic a'stract String getStringEint columnInde(F t=ro/s SM6%(ception pu'lic a'stract String getStringEString column&ameF t=ro/s SM6%(ception pu'lic a'stract int getIntEint columnInde(F t=ro/s SM6%(ception pu'lic a'stract int getIntEString column&ameF t=ro/s SM6%(ception AdemAs0 pu'lic e(isten otros m;todos gracias a los cuales es posi'le recorrer los
resultados guardados en el o'+eto de tipo HesultSet, a'stract int :indColumnEString column&ameF t=ro/s SM6%(ception !evuelve el n2mero de columna cu*o nom're se pasa como parAmetro pu'lic a'stract 'oolean ne(tEF t=ro/s SM6%(ception $n o'+eto de tipo HesultSet puede contener mAs de un resultado, Para ir avan9ando por la lista de resultados utili9amos este m;todo0 que devuelve un valor indicando si e(iste otro resultado o no, pu'lic a'stract 'oolean /as&ullEF t=ro/s SM6%(ception Indica si el contenido de la 2ltima columna accedida es &$66 SM6 pu'lic a'stract void closeEF t=ro/s SM6%(ception 6i'era los recursos asociados al HesultSet Kamos a proceder a visuali9ar en o'+etos "list0 los datos contenidos de la ta'la de %quipo, )F para Creamos un ":rame a'rir un
o'+eto
nuevo :ormulario,
P)%ina -* de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
2F Indicamos como nom're de clase :ormulario> :rmver%quipos, 6uegos damos clicG en el 'otn de comando Jinis=,
3F
!amos clic 'otn derec=o so're el dise@o del :ormulario para cam'iar el li'remente,
Se#
LaE!$# a &'soluteLa$out0 lo cual nos permitirA usar los o'+etos de control mAs
P)%ina -- de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
4F
Colocamos los o'+etos de control quedando el dise@o del :ormulario de la siguiente manera>
3F
orramos los Items de cada o'+eto "list * colocamos los nom'res a cada o'+eto de control, Hecuerden que para eliminar los items de cada "list =a* que =acer uso de model que se encuentra en la ventana de propiedades,
P)%ina -. de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n la primera llave Ecolor ro+oF o'servamos que importamos los paquetes +ava,sql Etodo lo que aca'amos de verF * el paquete +ava(,s/ing para poder utili9ar la clase "optionPane para la visuali9acin de un mensa+e a trav;s de su m;todo S=o/1essage!ialog, %n la segunda llave se de:ine las varia'les que se van a usar, Kendr7a =acer los atri'utos de la clase (r%Ver)qui*o, Como tenemos esta'lecer cone(in usaremos un o'+eto Connection EconnF0 para =acer una operacin de consulta usaremos un o'+eto Statement EstF * para almacenar los resultados de la consulta usaremos un o'+eto HesultSet ErsF, Como la aplicacin =ace uso de los "list se tiene crear 4 o'+etos instanciados de la clase !e:ault6ist1odel Ema*or in:ormacin en la sesin 4 del curso de Programacin KisualF, Posteriormente preparamos varia'les para indicar el nom're de la 'ase de datos0 el login0 el pass/ord * el url, %n la tercera llave se =a dise@ado un m;todo denominado %nlace que permitirA esta'lecer cone(in con la 'ase de datos campeonatoue:a, Ing. Mirko Manrique Ronceros P)%ina -2 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
4F 6a clase :rmKer%quipo tienen un m;todo del mismo nom're :rmKer%quipoEF0 esto es lo que se denomina m;todo constructor, !eseamos que los datos se muestren en los o'+etos "list al momento de la e+ecucin del :ormulario de'emos programar en el m;todo antes mencionado,
6os o'+etos instanciados de la clase !e:ault6ist1odel de'en ser vinculados a cada uno de las ca+as de listas, 6uego usando el 'loque tr*T Y que por cierto sirve para interceptar errores * si lo =u'iera e+ecutar7a lo programado en el 'loque catc=T Y0 esta'lecemos lacone(in usando el m;todo %nlace0 creamos el o'+eto st de tipo Statement Ese encuentra listo para reli9ar una operacinF * luego e+ecutamos una sentencia de consulta con select cu*o resultado va ocasionar que los datos se almacenen en el o'+eto rs del tipo HesultSet, Jinalmente con el m;todo ne(t se logra despla9ar a trav;s de los registros de datos para ir llenado los o'+etos modelo)0 modelo20 modelo3 * modelo4 * de esta :orma llenamos los o'+etos "list lo que nos permitirA ver en el :ormulario los datos de la ta'la de %quipo,
P)%ina -4 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
#F Hecuerda que en la sesin anterior slo se agreg un registro a la ta'la de %quipo, Si gustan ingresen mAs registros a la ta'la de %quipo * o'servarAn los resultados, Si e+ecutamos la aplicacin o'servamos lo siguiente>
P)%ina -5 de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%l .a'le1odel se implementa a partir de la clase A'stract.a'le1odel0 aunque e(iste un modelo de ta'la predeterminado denominado la clase !e:aiult.a'le1odel, 6as propiedad mAs usada es %odel que permite de:inir el numero de :ilas * columnas0 siendo los m;todos mAs usados> setModel+,- que permite vincular un modelo al o'e+to "ta'le * getRo.Count+,0 devuelve el n2mero de :ilas en la ta'la, Para la clase !e:ault.a'le1odel los m;todos mAs utili9ados son> &ddRo.+,0 a@ade una :ila al :inal del modelo0 getRo.Count+, devuelve el n2mero de :ilas de la ta'la de datos0 getValue&t+, devuelve el dato u'icado en la posicin :ila * columna * removeHo/EF elimina una :ila del modelo seg2n posicin indicada,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
3,
Kolvamos a la pesta@a Pro*ects donde vamos a crear m;todos en la clase 1ain0 necesarios para la cone(in con la 'ase de datos * el enlace con la ta'la de estadio,
Agregamos los paquetes> +ava,io0 +ava,sql * +ava(,s/ing, %ste 2ltimo paquete es necesario para el uso de los o'+etos del paquete s/ing principalmente el "-ptionPane para la visuali9acin de posi'les mensa+es de error, %stando dentro de la clase 1ain esta'lecemos las varia'les conn del tipo Connection0 st del tipo Statement * rs del tipo HesultSet *a descritos * esplicados en las sesiones anteriores, .am'i;n de:inimos las vari'ales 'd0 login0 pass/ord * url, A continuacin creamos el primer m;todo estAtico denominado )nlace que devolverA un o'+eto del tipo Connection, %ste m;todo nos a*udarA esta'lecer la cone(in con la 'ase de datos campeonatoue:a, Seguimos a continuacin agregando mAs m;todos a la clase 1ain,
P)%ina ., de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Se crea el m;todo sta que devolverA un o'+eto del tipo Statement, del m;todo createState%ent+,. Jinalmente se necesita tener
Asicamente un m;todo
permite crear el o'+eto del tipo Statement a partir del o'+eto c!nnec#i!n a trav;s denominado )nl)st que permitirA enla9arnos con la ta'la de %stadio aplicando el m;todo e/ecute uer$+, esta'leciendo a trav;s del comando select a todos los campos de la ta'la de %stadio solo aquellos cu*o estado es igual a )0 es decir0 los estadios que estAn =a'ilitados para su uso, Si o'servamos en cada uno de los m;todos se esta usando t=ro/s SM6%(ception0 esto quiere decir que los m;todos usan e(cepciones Eintercepcion de erroresF para los erroes que se pueden presentar durante la cone(in * acceso de datos, 4, 6a ta'la de %stadio posee realmente cinco campos0 pero el 2ltimo es para indicar si el estadio esta =a'ilitado para su uso o no lo estA0 estom quiere decir si =acemos una elimnacin se procederA a cam'iar el estado a 0 Eelimacin lgicaF * gra'emos los datos de un nuevo estadio se =a'ilitarA, Kamos a dise@ar el siguiente :ormulario al cual lo llamaremos :rm1ant%stadio dando los nom'res correspondientes a cada uno de los o'+etos de control di'u+ados, cada ve9 que
P)%ina .+ de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Importamos los paquetes +ava,sql Epara acceder a 'ase de datosF0 +ava(,s/ing Epara el uso de los controles visualesF0 +ava(,s/ing,ta'le para el mane+o de las clases del paquete ta'le * el paquete campeonato^ue:a que contiene a la clase 1ain con lo cual podremos =acer uso de todos los m;todos que tenga,
P)%ina .* de +,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Iniciamos la construccin de la clase :rm1ant%stadio0 esta'leciendo como varia'les o atri'n'utos conn0 st * rs, Como se estA utili9ando un o'+eto ".a'le se de:ine la varia'le dt% del tipo De(a$"Ta="eM!de", %n el m;todo constructor =acemos uso del m;todo ac#iva=!#!ne Eprogramacin que veremos luegoF0 se esta'lece un vector o arreglo del e#C!"$mnIden#i(ier indicamos los datos del vector titulos e#L!ca#i!n es para esta'lecer el tipo String donde se coloca los t7tulos que serAn de cada una de las columnas del o'+eto JTa="e, A partir del m;todo al o'+eto dt% * con el m;todo set1odel vinculamos el o'+eto dt% al o'+eto ".a'le denominado ta'la)stadio, 6os m;todos e#SiNe * tama@o * la locali9acin del :ormulario en la pantalla del computador,
%l m;todo ac#iva9!#!ne
comando0 esto dependerA en que circunstancias nos encontremos en la e+ecucin de la aplicacin de mantenimiento de datos de %stadios, Con el m;todo "im0iarDa#! limpia los cuadros de te(tos,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando =#n9$ car si estA =a'ilitado despu;s de dar clic en dic=o 'otn0 se procederA a la cone(in con la 'ase de datos0 luego en la varia'le rs se almacenarA los datos provenientes de la ta'la de %stadio, %n la varia'le ' se coloca el valor ingresado en el cuadro de te(to #I#C!dE #, Se de:ine una varia'le 'oleana encuentra para mane+ar la situacin de ;(ito o :racaso de la '2squeda, %n la sentencia /=ile utili9amos el m;todo ne(t que pertenece al o'+eto rs0 es decir0 es un m;todo neI# devuelve m;todo de la inter:a9 HesulSet, %l verdadero si encuentra la primera :ila de in:ormacin0 las
siguientes veces se despla9a en cada registro almacenado en el rs, 6a sentencia i: que se encuentra dentro del /=ile0 su condicin lgica se =arA verdadero cuando encuentre el cdigo de estadio 'uscado0 =aciendo que los cuadros de te(tos se muestren los demAs datos0 es entonces que la varia'le encuentra reci;n se =ace verdadero, Ing. Mirko Manrique Ronceros
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%l 'otn de comando 'tnKer EKer 6ista de %stadiosF0 consiste en aumentar el tama@o del :ormulario para visuali9ar el o'+eto ".a'le, Posteriormente se esta'lece la cone(in con la 'ase de datos * en la varia'le rs se almacena los datos provenientes de la ta'la de %stadio, Se de:ine un vector denominado datos de tama@o 3 elementos del tipo String que servirA colocar los datos de una :ila para luego agregarlo al o'+eto dt% que estA vinculado al o'+eto ".a'le llamado ta'la)stadio, Pero antes de agregarlo de'emos asegurarnos que no e(ista :ila alguna de datos en el modelo dt% * por ende en la ta'la)stadio, %l 'ucle de la sentencia /=ile permite colocar en cada elemento del arreglo los datos e(traidos de una :ila que almacena el o'+eto rs- esto es posi'le *a que el m;todo getString0 indicando la posicin de la columna0 podemos o'tener el dato de la :ila actual,
Con el m;todo addHo/ logramos crear una :ila con los datos del vector datos en el o'+eto dtm * como estA vinculado a la ta'la%stadio entonces se podrA ver los registros agregados, Para el 'otn de comando =#nN$ev!0 limpiamos los cuadros de te(tos con el m;todo limpiar-'+etos, Se in=a'ilita el cuadro de te(to #I#C!dE # * se env7a el cursor al cuadro de te(to #I#N!m, Se in=a'ilta los 'otones de comando a e(cepcin de gra'ar *a que estamos en el momento de ingresar nuevos datos * proceder a almacenar,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando =#nGra=ar se inicia visuali9ando un mensa+e de con:irmacin para proceder a gra'ar0 esto se logra usando el m;todo K!GC!n(irmDia"!% de la 'ase de datos clase "optionPane, Si la respuesta es S7 entonces la sentencia i: su condicin lgica se =arA verdadera * por lo tanto esta'lecemos cone(in con la campeonatoue:a0 pasamos los datos ingresados a varia'les como no%0 sede * *ais, %n la varia'le comando esta'lecemos la instruccin con el comando I&S%H. para luego usar el m;todo e/ecute0*date quien procederA a gra'ar los datos, Posteriormente se procede a cerrar la cone(in con el m;todo c"! e del o'+eto connection conn,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando =#nE"iminar0 tam'i;n se procede a trav;s de un mensa+e con:irmar si procede la eliminacin de los datos del %stadio, Si la respuesta es a:irmativa se procede a cone(tarse a la 'ase de datos * en la varia'le de memoria cod se almacenada el cdigo del estadio ingresado a trav@es del cuadro de te(to t(tCod%st, Se constru*e la instruccin usando el comando $P!A.%0 luego e+ecutamos la eliminacin lgica =aciendo que el campo estado sea igual a cero * se cierra la cone(in con la 'ase de datos,
%n el 'otn de comando =#nM!di(icar0 al igual que de gra'ar o eliminar se procede a con:irmar a trav;s de un mensa+e si se procede a la modi:icacin de datos, $na ve9 salvados los datos ingresados en los cuadros de te(tos en varia'les de memoria se prepara la instruccin en la varia'le de memoria co%ando, $samos el comando $P!A.% para actuali9ar los datos, Se procede a e+ecutar el comando con el m;todo eIec$#eU0da#e * se cierra la cone(in con el m;todo c"! e,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando Cancelar0 luego de dar respuesta a:irmativa se procede a limpiar los cuadros de te(tos0 =a'ilta el cuadro de te(to t(tCod%st para su uso * se vuelve a su estado inicial la =a'litacin de los 'otones de comando,
%l 'otn de comando =#nCerrar0 con el m;todo dispose se cierra la ventana o :ormulario, 6, Procedemos a e+ecutar el :ormulario0 seleccionado Hun Jile,
#, Al dar clic en el 'otn de comando &uevo podemos proceder a ingresar datos, $na ve9 ingresado damos clic en el 'otn de comando Lra'ar,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
5,
6uego de gra'ar0 al dar clic en el 'otn de comando Ker 6ista de %stadios0 el :ormulario se mostrarA de la siguiente :orma,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
.enemos el "menu ar que permite iniciar el dise@o del men20 Se crea por de:ecto un o'+eto "menu que permitirA a partir de este crear las opciones0 las cuales se crearAn con los o'+etos "menuItem,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
luego
aplicamos
una
actuali9acin
EHe:res=F
para
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica visuali9ar la nueva ta'la,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
6.
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%l cuadro de te(to re:erido al numero de programacin tiene como nom're #I#Nr!Pr!0 para la :ec=a de encuentro #I#FecKa0 para el "Com'o o( de la etapa de campeonato tiene como nom're c=!E#a0a0 para el "Com'o o( re:erido a grupo se denomina c=!Gr$0!0 para el o'+eto "6ist re:erido al %quipo ) se llama " #E3$i0!+0 para el o'+eto "6ist re:erido al %quipo2 se denomina " #E3$i0!*0 para el cuadro de te(to de la =ora programada se llama #I#/!ra0 para el o'+eto "com'o o( re:erido a los estadios se llama c=!E #adi! 0 para los para el o'+eto "c=ecG o( re:erido a Suspendido se denomina se denomina #a="aPr!%ramaci!n. de cKLS$ 0endid! * para el o'+eto ".a'le Jinalmente 'otones
comando que reali9arAn el mantenimiento de datos de Programacin de Partidos se denominan> =#nN$ev!0 =#n9$ car0 =#nM!di(icar0 =#nGra=ar0 =#nCance"ar * =#nCerrar, #, Kamos a proceder a agregar los m;todos en la clase 1ain que utili9aremos para el mantenimiento de datos de la Programacin de Partidos,
Para o'tener los registros de datos de aquellos encuentros que estAn programados
Para o'tener los equipos que pertenecen a un grupo indicado, Cada grupo de'e estar con:ormado por 4 equipos,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Keri:ica si el encuentro entre un equipo * otro *a :ue programado, %sta consulta construida a partir del comando select utili9a el concepto de su'consultas, Cuando tratemos el tema de consulta de datos se e(plicarA la construccin de sentencias que usan varias ta'las,
Para o'tener el cdigo del equipo dado el nom're del equipo, %ste m;todo nos servirA al momento de gra'ar datos,
Para o'tener el cdigo del estadio dado el nom're del estadio, %ste m;todo nos servirA al momento de gra'ar o modi:icar datos, 5, Keamos a continuacin el cdigo de la programacin que tendrA el :ormulario :rmProgramacionPartidos, a, Agregar los paquetes antes de la de:incin de la clase :rmProgramacionPartidos,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
', !e:inir los atri'utos o varia'les a usar en los distintos m;todos que :orma la clase :rmProgramacionPartidos
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
e, !ise@amos el m;todo llenar6istasEF para mostrar los posi'les encuentros dado los 4 equipos que con:orman un grupo,
:, .am'i;n se tienen el m;todo llenar.a'laEF para llenar de datos en la :ilas del o'+eto ".a'le denominado ta'laProgramacion,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
g, Cuando se seleccione una etapa del campeonato0 como por e+emplo eliminatoria se =a'ilitarA el uso del o'+eto +Com'o o( llamado c'oLrupo,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
=, A=ora vamos a proceder a programar en cuando se seleccione el grupo, &o se indicarA todo el cdigo *a que codi:icar para cuando se seleccione el grupo A0 lo mismo sucederA con los demAs grupos que con:orma la etapa eliminatoria del campeonato,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n este 2ltimo i: que o'servamos =acemos lo mismo para el grupo sucesivamente =asta el grupo H,
* as7
i, %l 'otn de comando
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
+, Cuando se seleccione un equipo en la ca+a de lista lst%quipo) se procederA a 'uscar si el encuentro *a :ue programado o no,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
continuamos ,,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
2,
Procedemos a crear el procedimiento almacenado sp^gra'aAr'itro que permitirA la gra'acin de datos cuando se inserte un registro de datos en la ta'la de Ar'itro,
$na ve9 e+ecutado la creacin del procedimeinto almacenado se o'servarA en la pesta@a de Services que dic=o procedmiento se =a creado,
3.
6uego0 procedemos a crear el procedimeinto almacenado sp^modi:icaAr'itro que permitirA modi:icar o actuali9ar los datos de la ta'la de Ar'itro,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
$na ve9 e+ecutado la creacin del procedimeinto almacenado se o'servarA en la pesta@a de Services que dic=o procedmiento se =a creado,
4,
Posteriormente0 procedemos a crear el procedmiento almacenado sp^eliminaAr'itro que permitirA =acer una eliminacin lgica del registro de datos,
$na ve9 e+ecutado la creacin del procedimeinto almacenado se o'servarA en la pesta@a de Services que dic=o procedmiento se =a creado,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
3, %n el :ormulario :rmPrincipal que contiene el dise@o del men20 u'icamos la opcin Ar'itro dentro de 1antenimientos,
6, Seleccionado
Ar'itro
dando
clic
'otn
derec=o
del
mouse
elegimos
Even# @Ac#i!n@Ac#i!nPer(!rmed,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
5,
Kamos a proceder a programar en el :ormulario :rm1antAr'itro colocando las siguientes l7neas de cdigo>
Importamos los paquetes +ava,sql Epara acceder a 'ase de datosF0 +ava(,s/ing Epara el uso de los controles visualesF0 +ava(,s/ing,ta'le para el mane+o de las clases del paquete ta'le * el paquete campeonato^ue:a que contiene a la clase 1ain con lo cual podremos =acer uso de todos los m;todos que tenga,
Preparamos las varia'les para el acceso de datos> conn0 st0 rs, %n el m;todo constructor :rm1antAr'itroEF preparamos las columnas del o'+eto ".a'le * damos al :ormulario su tama@o * u'icacin dentro de la pantalla,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
6os m;todos activa otonesEF permitirA gestionar el uso de los 'otones de comando * el m;todo limpiar!atosEF es para limpiar los cuadros de te(tos,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando =#n9$ car si estA =a'ilitado despu;s de dar clic en dic=o 'otn0 se procederA a la cone(in con la 'ase de datos0 luego en la varia'le rs se almacenarA los datos provenientes de la ta'la de Ar'itro, %n la varia'le ' se coloca el valor ingresado en el cuadro de te(to #I#C!dAr=, Se de:ine una varia'le 'oleana encuentra para mane+ar la situaci_on de ;(ito o :racaso de la '2squeda, %n la sentencia /=ile uti9amos el m;todo neI#BC que pertenece al o'e+to rs0 es decir0 es un de la inter:a9 HesulSet, %l m;todo neI# devuelve verdadero si encuentra la primera :ila de in:ormacin0 las siguientes veces se despla9a en cada registro almacenado en el rs, 6a sentencia i: que se encuentra dentro del /=ile0 su condicin lgica se =arA verdadero cuando encuentre el cdigo del Ar'itro 'uscado0 =aciendo que los cuadros de te(tos se muestren los demAs datos0 es entonces que la varia'le encuentra reci;n se =ace verdadero, m;todo
%l 'otn de comando 'tnKer EKer 6ista de Ar'itrosF0 consiste en aumentar el tama@o del :ormulario para visuali9ar el o'+eto ".a'le, Posteriormente se esta'lece la cone(in con la 'ase de datos * en la varia'le rs se almacena los datos provenientes de la ta'la de Ar'itro, Se de:ine un vector denominado datos de tama@o 6 elementos del tipo String que servirA colocar los datos de una :ila para luego agregarlo al Ing. Mirko Manrique Ronceros
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
o'+eto dt% que estA vinculado al o'+eto ".a'le llamado ta'la&r'itro, Pero antes de agregarlo de'emos asegurarnos que no e(ista :ila alguna de datos en el modelo dt% * por ende en la ta'la&r'itro, %l 'ucle de la sentencia /=ile permite colocar en cada elemento del arreglo los datos e(traidos de una :ila que almacena el o'+eto rs- esto es posi'le *a que el m;todo getString0 indicando la posicin de la columna0 podemos o'tener el dato de la :ila actual, Con el m;todo addHo/ logramos crear una :ila con los datos del vector datos en el o'+eto dtm * como estA vinculado a la ta'laAr'itro entonces se podrA o'servar los registros agregados,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando =#nGra=ar se inicia visuali9ando un mensa+e de con:irmacin para proceder a gra'ar0 esto se logra usando el m;todo K!GC!n(irmDia"!% de la clase "optionPane, Si la respuesta es S7 entonces la sentencia i: su condicin lgica se =arA verdadera * por lo tanto esta'lecemos cone(in con la 'ase de datos campeonatoue:a0 pasamos los datos ingresados a varia'les como a*e0 no%0 (ec1a * nac, %n la varia'le *st%t esta'lecemos como procedimiento almacenado a s*2gra'a&r'itro0 colocando 4 signos de interrogacin que parAmetros que e(presa el mane+o de 4
instanciado *st%t indicamos la posicin del parAmetro * el valor del parAmetro0 as7 por e+emplo> ) indica ser el primer parAmetro de entrada del procedimeinto almacenado 0M%ra=aAr=i#r! * a*e m;todo e(ecute$pdateEF contiene que el dato apellido que el se asignarA al primer parAmetro, $na ve9 indicado los valores a cada uno de los parAmetros se =ace uso del permitirA e+ecutar procedimiento almacenado, Posteriormente se procede a cerrar la cone(in con el m;todo c"! e del o'+eto connection conn.
Para el 'otn de comando =#nN$ev!0 limpiamos los cuadros de te(tos con el m;todo limpiar-'+etos, Se in=a'ilita el cuadro de te(to #I#C!dAr= * se env7a el cursor al cuadro de te(to #I#N!m, Se in=a'ilta los 'otones de comando a e(cepcin de gra'ar,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando =#nE"iminar0 tam'i;n se procede a trav;s de un mensa+e con:irmar si procede la eliminacin de los datos del %stadio, Si la respuesta es a:irmativa se procede a conectarse a la 'ase de datos * en la varia'le de memoria cod se almacenada el cdigo del Ar'itro ingresado a trav;s del cuadro de te(to t(tCodAr', %n la varia'le *st%t esta'lecemos como procedimiento almacenado a s*2eli%ina&r'itro0 colocando un signo de interrogacin que e(presa el mane+o de un slo parAmetro0 luego se usa el m;todo setIntEF para indicar el valor del parAmetro * posteriormente se cierra la cone(in,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el 'otn de comando =#nM!di(icar0 al igual que de gra'ar o eliminar se procede a con:irmar a trav;s de un mensa+e si se procede a la modi:icacin de datos, $na ve9 salvados los datos ingresados en los cuadros de te(tos en varia'les de memoria se procede a utili9ar el procedimiento almacenado s*2%odi(ica&r'itro, $samos el comando $P!A.% para actuali9ar los datos, Se procede a e+ecutar el comando con el m;todo eIec$#eU0da#e * se cierra la cone(in con el m;todo c"! e,
%n el 'otn de comando Cancelar0 luego de dar respuesta a:irmativa se procede a limpiar los cuadros de te(tos0 =a'ilta el cuadro de te(to t(tCodAr' para su uso * se vuelve a su estado inicial la =a'litacin de los 'otones de comando,
%l 'otn de comando =#nCerrar0 con el m;todo dispose se cierra la ventana o :ormulario, )0, Procedemos a e+ecutar el :ormulario desde el men2,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
9O 3$eda
de
da#!
c!n
0r!cedimien#!
a"macenad!
$ and!
Ca""a="eS#a#emen#
Para las '2squedas *8o o'tenciones de datos vamos a usar procedimientos almacenados, 6a novedad con el uso de los procedimientos almacenados es =acer uso de parAmetros de salida, %n esta oportunidad usaremos el inter:ace Calla'leStatement que permitirA tra'a+ar con procedimeintos almacenados que =acen uso del comando select, Kamos a usar el procedimiento almacenado s*2o'tenerCod)qui*o>
A continuacin0 procedemos a dise@ar el proceso de Incidencias de un %ncuentro o Partido usando procedimientos almacenados con la inter:a9 Calla'leStatement * transacciones>
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
2,
Procedemos a crear el procedimiento almacenado s*2actuali3aIncidencias que permitirA la gra'acin de datos cuando se inserte un registro de datos en la ta'la de Incidencias,
6uego de e+ecutar la sentencia0 =acemos una actuali9acin usando He:res= Ing. Mirko Manrique Ronceros
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
3,
Posteriormente
creamos
el
procedimiento
alcenado
sp^modi:icaIncidencias
que
6uego
de
e+ecutar
la
sentencia0
=acemos
una
actuali9acin
usando
He:res=
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
4,
&o olvidar de agregar el procedimeinto almacenado sp^o'tenerCod%stadio Ever la segunda pagina de ;sta sesinF,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%ste m;todo nos a*udarA a llenar de datos en el o'+eto ".a'le del dise@o de :ormulario :rmIncidencias%ncuentro,
%ste m;todo permitirA 'uscar las incidencias ocasionadas por los dos equipos de un encuentro dado el n2mero de programacin, 6, %n el :ormulario :rmPrincipal que contiene el dise@o del men20 u'icamos la opcin Incidencias dentro de Procesos,
4,
Seleccionando incidencias del %ncuentro * dando clic con el 'otn derec=o del mouse elegimos Even# @Ac#i!n@Ac#i!nPer(!rmed,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
5,
Kamos a proceder a programar en el :ormulario :rmIncidencias%ncuentro colocando las siguientes l7neas de cdigo>
Importamos los paquetes +ava,sql Epara acceder a 'ase de datosF0 +ava(,s/ing Epara el uso de los controles visualesF0 +ava(,s/ing,ta'le para el mane+o de las clases del paquete ta'le * el paquete campeonato^ue:a que contiene a la clase 1ain con lo cual podremos =acer uso de todos los m;todos que tenga,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Preparamos las varia'les para el acceso de datos> conn0 st0 rs, 6a varia'le gra'a es para sa'er si se va a gra'ar las incidencias EtrueF o se va a modi:icar las incidencias E:alseF, Con la varia'le dt% es para el mane+o del o'+eto "ta'le,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%n el m;todo constructor :rmIncidencias%ncuentroEF preparamos las columnas del o'+eto ".a'le * llenamos de datos usando el m;todo VistaProgra%acion+,. .am'i;n damos al :ormulario su tama@o * u'icacin dentro de la pantalla
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Programar
en el
evento
1ouseClicGed
ea
para
que
el
usuario
seleccione
una
programacin de partido se muestre las incidencias ocurridas en el encuentro, !ado el n2mero de la programacin * usando el m;todo uscaProgIncidenciasEF0 se puede lograr encontrar las incidencias del partido, Si se encuentra las incidencias se de'e tener dos registros almacenados en la varia'le rs re:erido a las incidencias del equipo local * del equipo visitante, Con el m;todo ne/t+, de HesultSet se accede a cada uno de los registros * con el m;todo getStringEF sacamos los datos de cada :ila de datos * lo asignamos a cada uno de los cuadros de te(tos, Si no =u'iera incidencias del partido programado entonces los cuadros de te(tos estar7an =a'ilitados para el ingreso de los datos de las incidencias,
Programar en el evento Jocus6ost permitirA asignarle los goles a :avor que tiene el equipo local como goles en contra al equipo visitante asignarle los goles en contra del equipo local como goles a :avor del equipo visitante,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
K a m o s
e(plicando lo mAs resaltante de la programacin del 'otn de comando Actuali9ar, Si la varia'le p2'lica gra'a viene con el valor .rue se procede a invocar un mensa+e de
con:ormacin,
Si
la
respuesta
es
a:irmativa
nro*ro el n2mero de la programacin, A continuacin viene el inicio de una transaccin0 que a trav;s del m;todo set&utoCo%%it+, al ponerle el valor de :alse dentro del par;ntesis estamos indicando a la cone(in que no se procederA a terminar la transaccin =asta que se use el m;todo co%%it+,,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Kiene el uso de la varia'le cst%t instanciado de la clase Calla'leState%ent que permitirA e+ecutar un procedimiento almacenado, %l procedemiento almacenado a usar se llama sp^o'tenerCod%quipo que posee un parAmetro de entrada * otro de salida, %l valor del primer parAmetro lo indicamos con el m;todo setString+, * como el segundo parAmetro es de salida se =ace uso del m;todo register-utParameterEF indicando el tipo de dato que es entero, Con el m;todo e(ecuteEF se e+ecuta el procedimeinto almacenado * para o'tener el valor del parAmetro de salida usamos el m;todo getInt+, de'ido que el parAmetro es de tipo entero, Posteriormente se asignan a las varia'les los datos que se usarAn para la gra'acin de datos0 para lo cual se usarA el procedimiento almacenado s*2actuali3aIncidencias. 6o mismo =acemos con las incidencias del equipo visitante0 se asignan a las varia'les de memoria respectivas * nuevamente se procede a usar el procedimiento almacenado s*2actuali3aIncidencias, 6uego procedemos a =acer uso del m;todo co%%it+, a trav;s del o'+eto conn que permitirA terminar la transaccin, %n el caso de que la varia'le gra'a sea Jalse0 entonces se procederA =acer casi lo mismo sino que esta v;9 se usarA el procedimiento almacenado sp^modi:icaIncidencias para modi:icar los datos,
%l 'otn de comando =#nCerrar0 con el m;todo dispose se cierra la ventana o :ormulario, )0, Procedemos a e+ecutar el :ormulario desde el men2,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Keamos a continuacin como se podr7a =acer una consulta a los datos de la ta'la de %stadio * almacenarlos en un arreglo,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Con respecto al uso de los m;todos de un HesultSet0 lo mAs utili9ados son> I pu'lic a'stract 'oolean neI#BC t=ro/s SM6%(ception $n o'+eto de tipo HesultSet puede contener mAs de un resultado, Para ir avan9ando por la lista de resultados utili9amos este m;todo0 que devuelve un valor verdadero indicando si e(iste otro resultado o :also cuando *a no e(iste registro o :ila alguna, I pu'lic a'stract String %e#S#rin%Eint columnInde(F t=ro/s SM6%(ception I pu'lic a'stract String %e#S#rin%EString column&ameF t=ro/s SM6%(ception I pu'lic a'stract int %e#In#Eint columnInde(F t=ro/s SM6%(ception I pu'lic a'stract int %e#In#EString column&ameF t=ro/s SM6%(ception Para recuperar los datos contamos con muc=as opciones, .odos los m;todos :uncionan de la misma manera, .oman como parAmetro el 7ndice o el nom're del campo que se desea o'tener * devuelven el dato en cuestin, I pu'lic a'stract void c"! eBC t=ro/s SM6%(ception 6i'era los recursos asociados al HesultSet,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%l m;todo
m;todo %nlaceEF0 este 2ltimo esta'lece la cone(in con la 'ase de datos0 por lo tanto el o'+eto conn de+a de ser null * contiene la in:ormacin necesaria de la cone(in con la 'ase de datos campeonatoue:a, Se declara la varia'le cad de tipo String0 que contiene una consulta que por cierto es una su'consulta *a que contiene mAs de una sola ve9 el uso del comando select, %sta consulta lo que 'usca es o'tener los datos de los +ugadores que pertenecen a un equipo, 6uego se declara * se constru*e una varia'le o'+eto *s del tipo PreparedStatement que a partir del o'+eto conn de tipo Connection se indica la sentencia select a e+ecutar, Como la sentencia select tiene un signo ` que indica que :alta darle un valor0 entonces se procede a usar el m;todo setString+, donde el parAmetro nomequi contiene el valor o dato a reempla9ar en `, Se e+ecuta la consulta usando el m;todo e(ecuteMuer*EF0 cu*o resultado se almacena en el o'+eto HesultSet llamado rs, .am'i;n en la clase 1ain de'e estar el m;todo )nl)qui+,>
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
%ste m;todo nos permitirA o'tener los datos de los %quipos =a'ilitados para el campeonato, 2, %n el :ormulario :rmPrincipal que contiene el dise@o del men20 u'icamos la opcin
Seleccionando "ugadores por %quipo * dando clic con el 'otn derec=o del mouse elegimos Even# @Ac#i!n@Ac#i!nPer(!rmed
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
4, Kamos a proceder a programar en el :ormulario :rmCons"ug%qui colocando las siguientes l7neas de cdigo>
Importamos los paquetes +ava,sql Epara acceder a 'ase de datosF0 +ava(,s/ing Epara el uso de los controles visualesF0 +ava(,s/ing,ta'le para el mane+o de las clases del paquete ta'le * el paquete campeonato^ue:a que contiene a la clase 1ain con lo cual podremos =acer uso de todos los m;todos que tenga,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Se de:ine las varia'les o'+eto conn0 st0 rs del tipo Connection0 Statement * HesultSet iniciali9ando como null, 6a varia'le o'+eto dtm es del tipo !e:ault.a'le1odel para el mane+o del o'+eto "ta'le ta'laConsulta,
e#SiNeBC *
del o'+eto :ormulario, Con la varia'le arreglo llamado titulos de tipo String0 almacenamos los t7tulos de cada uno de las columnas, Con el m;todo m;todo arreglo titulos para esta'lecer los titulos de cada columna que mane+a el modelo dt%, Con el e#m!de"BC vinculamos el modelo al o'+eto "ta'le ta'laConsulta, %n el 'loque tr* iniciamos con esta'lecer la cone(in con la 'ase de datos campeonatoue:a, $na ve9 que se tienen la cone(in procedemos a e+ecutar el m;todo En"E3$iBC que se encuentra en la clase 1ain que permitirA o'tener todos los equipos, Con el m;todo neI#BC se u'ica al primer registro de los resultados devueltos por el m;todo En"E3$iBC0 de a=7 cada ve9 que usemos el m;todo neI#BC se despla9arA al siguiente registro, Cuando el m;todo ne(tEF devuelva :also terminarA la e+ecucin de la setencia repetitiva /=ile, %n cada despla9amiento se agregarA al o'+eto "com'o o( denominado c=!E3$i0! el nom're del equipo,
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica
Se declara la varia'le no%equi de tipo String0 ( e i de tipo int, %n la varia'le no%equi se almacena el nom're del equipo seleccionado del o'+eto "Com'o o( denominado c=!E3$i0! , %l m;todo %e#Se"ec#edI#emBC o'tiene el nom're del equipo elegido pero lo e(trae de tipo 'b(e%t * al anteponerle la e(presin #)tring$ se comporta como dato de tipo )tring * lo asigna a la varia'le no%equi, %n el 'loque tr* esta'lecemos la cone(in con la 'ase de datos campeonatoue:a * e+ecutamos el m;todo usca"ug%quipoEF perteneciente a la clase 1ain que devolverA los datos de los +ugadores pertenecientes al equipo seleccionado, Se declara e instancia un arreglo denominado datosVW que permitira guardar los datos de un +ugador encontrador en la varia'le rs0 pero antes nos aseguramos que no e(ista :ila alguna en el o'+eto ".a'le ta'laConsulta, 6a sentencia repetitiva /=ile * usando el m;todo neI#BC del o'+eto rs es para u'icarnos en la primera :ila * en las siguientes :ilas de los resultados devueltos por el m;todo 9$ caJ$%E3$i0!BC, %n cada interacin se agregarA una :ila en el o'+eto ta'laConsulta a trav;s del modelo dt% usando el m;todo addR!GBC, Ing. Mirko Manrique Ronceros
Univer idad Naci!na" de" San#a Fac$"#ad de In%enier&a E.A.P. Si #ema e In(!rm)#ica