Proyecto Semestral - Mysql & Java
-
Upload
api-3696445 -
Category
Documents
-
view
6.228 -
download
4
Transcript of Proyecto Semestral - Mysql & Java
UNIVERSIDAD DE PANAMÁUNIVERSIDAD DE PANAMÁCENTRO REGIONAL DE VERAGUASCENTRO REGIONAL DE VERAGUAS
FACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIONESFACULTAD DE INFORMÁTICA, ELECTRÓNICA Y COMUNICACIONESLICENCIATURA EN INGENIERÍA EN INFORMÁTICALICENCIATURA EN INGENIERÍA EN INFORMÁTICA
PROGRAMACIÓN IIIPROGRAMACIÓN III
PROYECTO SEMESTRALPROYECTO SEMESTRALSobre:Sobre:
CONECTIVIDAD DE BASES DE DATOS EN JAVACONECTIVIDAD DE BASES DE DATOS EN JAVA
Presentado por:Presentado por:
Carlos J. De Gracia R. 9-721-393Carlos J. De Gracia R. 9-721-393
Facilitador:Facilitador:
Profesor Diego SantimateoProfesor Diego Santimateo
II AñoII AñoII SemestreII Semestre
15 de diciembre de 2006 15 de diciembre de 2006
MySQL & Java_____________________________________________________________
INTRODUCCIÓNINTRODUCCIÓN
Las bases de datos son muy importantes. Sin ellas, los bancos,
supermercados, etcétera, no podrían funcionar. Además de muchas
aplicaciones actuales, las bases de datos pueden considerarse como el
componente de software mas importante para los negocios.
Actualmente, la mayoría de las bases de datos se definen como
“relacionales”. Los datos se guardan en tablas que pueden estar
relacionadas entre si. Casi todas las bases de datos pueden utilizarse en
forma local, ya sea mediante comandos de menú o consultas escritas, en un
lenguaje estándar conocido como SQL(Lenguaje de Consultas Estructurados
o en ingles, Structured Query Language).
En empresas mas extensas a menudo se cuenta con una base de datos
central utilizada por un gran numero de personas, que por lo general son de
distintos países y utilizan distintos tipos de computadoras.
JDBC(Conectividad de Bases de Datos en Java , o en ingle, Java DataBase
Connectivity) permiten que una aplicación o applet de Java se ejecute en un
equipo de escritorio para enviar consultas de SQL a una base de datos que
se encuentran en otro equipo. Después se regresan los resultados.
El desarrollo de este proyecto hace énfasis en la investigación, análisis y
experimentación de los conceptos ligados al tema de la conectividad de
bases de datos en Java.
El contenido de este documento está estructurado de la siguiente forma:
en una primera parte se presentará una adecuada fundamentacion teórica
con respecto al tema de conectividad de bases de datos en Java.
Programación III2
MySQL & Java_____________________________________________________________
En un segundo punto, se presentará una breve, pero significante
metodología de diseño del desarrollo de una base de datos.
Como tercer punto, se presentará la estructuración de aplicación a
desarrollar, así como la respectiva documentación que se vincula con el
código del programa.
Finalmente se presentarán las conclusiones y recomendaciones referentes
al desarrollo del proyecto.
PROBLEMA PROPUESTOPROBLEMA PROPUESTO
Programación III3
MySQL & Java_____________________________________________________________
FUNDAMENTACION TEÓRICAFUNDAMENTACION TEÓRICA
JDBC (Java Data Base Conectivity) es un API de Java para acceder a
sistemas de bases de datos, y prácticamente a cualquier tipo de dato
tabular. El API JDBC consiste de un conjunto de clases e interfaces que
permiten a cualquier programa Java acceder a sistemas de bases de datos
de forma homogénea. En otras palabras, con el API JDBC no es necesario
escribir un programa para acceder a Sybase, otro programa para acceder a
Programación III4
MySQL & Java_____________________________________________________________
Oracle, y otro programa para acceder a MySQL; con esta API, se puede crear
un sólo programa en Java que sea capaz de enviar sentencias SQL a la base
de datos apropiada. Al igual que ODBC, la aplicación de Java debe tener
acceso a un controlador ( driver ) JDBC adecuado. Este controlador es el que
implementa la funcionalidad de todas las clases de acceso a datos y
proporciona la comunicación entre el API JDBC y la base de datos real.
JDBC proporciona a los programadores de Java una interfaz de alto nivel y
les evita el tener que tratar con detalles de bajo nivel para acceder a bases
de datos. En el caso del manejador de bases de datos MySQL, Connector/J es
el controlador JDBC oficial.
El desarrollo de este informe cuenta con una detallada descripción de las
clases y métodos que están involucrados en la conexión y consulta de una
base de datos MySQL utilizando el lenguaje de programación Java.
Este trabajo está organizado de la siguiente forma: en una primera parte
se dará un repaso sobre el funcionamiento del paquete java.sql, asi como
una detallada descripción de lo que contiene el paquete y como segunda
parte se detallarán las clases contenidas en el paquete, asi como sus
respectivos métodos. Para finalizar se plasman las conclusiones de este
informe, asi como una pequeña referencia electrónica a sitios de mucho
interés en el tema.
El paquete java.sql proporciona el API para tener acceso y procesar datos
en una fuente de datos usando el lenguaje de programación Java. Este API
incluye un marco por el que diversos controladores se puedan instalar
dinámicamente para tener acceso a diversas fuentes de datos.
Programación III5
MySQL & Java_____________________________________________________________
METODOLOGÍA DE DISEÑO DE BASE DE DATOSMETODOLOGÍA DE DISEÑO DE BASE DE DATOS
DESCRIPCIÓN DEL PROBLEMA
Crear una aplicación Java que a partir de archivos de textos, genere una
base de datos MySQL, que permita realizar consultas de las calificaciones de
estudiantes, mediante la cedula, indicando el porcentaje de asignaturas
fracasadas.
La aplicación debe permitir la corrección de los detalles de una asignatura o
de un determinado profesor.
Programación III6
MySQL & Java_____________________________________________________________
ESTABLECER IDENTIDADES
Atendiendo a una serie de reglas generales que ayudan a determinar las
relaciones, entidades o clases de objetivos, implicados en la aplicación,
podemos observar que dentro del dominio del problema se pueden
establecer tres entidades principales.
- ESTUDIANTES
- ASIGNATURAS
- PROFESORES
DETERMINAR ASOCIACIONES
Según los alcances de la aplicación, se determina que un profesor puede
tener varias asignaturas. Es aquí donde se crea la asociación entre entidades
PROFESORES y ESTUDIANTES, ya que un profesor puede impartir varias
asignaturas, pero una asignatura solo esta asignada a un solo profesor. Es
con esto que conseguimos la cardinalidad, así mismo existe una asociación
entre las entidades ESTUDIANTES y ASIGNATURAS. A la asociación se le
llamara recibir, ya que un estudiante puede recibir algunas asignaturas, pero
una asignatura puede tener varios estudiantes.
DETERMINAR ATRIBUTOS
Esta aplicación, se han pedido definir los siguientes atributos.
Código - asignatura para la entidad ESTUDIANTE.
Cedula para la entidad ESTUDIANTE.
Nota para la entidad ESTUDIANTE.
Programación III7
ESTUDIANTES ASIGNATURAS PROFESORES
impartir 0..10..n
ESTUDIANTES ASIGNATURAS PROFESORES
recibir impartir11..n1...61...n
MySQL & Java_____________________________________________________________
Código - curso para la entidad ASIGNATURA.
Código – asignatura para la entidad ASIGNATURA.
Abreviatura para la entidad ASIGNATURA.
Descripción para la entidad ASIGNATURA.
Código – profesor para la entidad PROFESOR.
Nombre para la entidad PROFESOR.
Apellido para la entidad PROFESOR.
ESTRUCTURACIÓN DEL PROGRAMAESTRUCTURACIÓN DEL PROGRAMA
//CLASE PRINCIPAL QUE PERMITE REALIZAR LAS OPERACIONES//DE INSERCION, CONSULTA Y MODIFICACIONclass Principal{
public static void main (String[] args){
//men obtiene el valor de la opcion seleccionadaMenuOpciones men= new MenuOpciones();InsertaDatosEnLaTabla agregar=new InsertaDatosEnLaTabla();SeleccionaDatosDeTabla seleccion=new
SeleccionaDatosDeTabla();ActualizarDatos modificar=new ActualizarDatos();int bandera=0;int opcion=0;
Programación III8
MySQL & Java_____________________________________________________________
while (bandera==0){
opcion=men.menuPrincipal();switch (opcion){
case 1://accede al metodo que permite//insertar los datos en la base de datosagregar.ingresarDatos();break;
case 2://accede al metodo permite consultar //los datos de la tabla calificacionesseleccion.consultarCalificaciones();break;
case 3://accede al metodo que permite modificar//datos de la tabla profesoresmodificar.actualizarProfesores();break;
case 4://accede al metodo que permite //modificar los datos de asignaturamodificar.actualizarAsignaturas();break;
case 5://bandera variable que termina //el ciclo de opcionesbandera=1;break;
}}
}}
import java.io.*;import java.sql.*;//clase que contien el menu de opcionespublic class MenuOpciones{
CapturaeImpresion mensaje=new CapturaeImpresion();String msg="****************Ingrese la Opcion**************** ";public int menuPrincipal(){
int opcion=0;try
Programación III9
MySQL & Java_____________________________________________________________
{System.out.println("\n\
n----------------------------------------------------");System.out.println("*** UNIVERSIDAD DE PANAMA
***");System.out.println("----------------------------------------------------");System.out.println("(1). Ingresar datos
");System.out.println("(2). Consulta de calificaciones
");System.out.println("(3). Actualizar datos del profesor
");System.out.println("(4). Actualizar datos de asignatura
");System.out.println("(5). Salir
");System.out.println("----------------------------------------------------");System.out.println("----------------------------------------------------");opcion=Integer.parseInt(mensaje.obtenerdatos(msg));
}catch (Exception e){
System.out.println("Error debe digitar una de las opciones");
}return opcion;
}
}
import java.sql.*;//clase que permite crear las tablas en la base de datos public class CreaTabla { public static void main (String[] args) { Connection conn = null;
try { //datos necesarios para la conexion
String userName = "FIEC-02"; String password = "estudiante"; String url = "jdbc:mysql://serfiec:3306/prueba"; Class.forName ("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection (url, userName, password);
Programación III10
MySQL & Java_____________________________________________________________
System.out.println ("Coneccion Database OKKK!!!"); try { Statement s = conn.createStatement ();
String tabla1,tabla2,tabla3; //sentencias para la creacion de tablas
tabla1 ="CREATE TABLE cdprofesores(codigo_profesor char(10), nombre char(40), apellido char(40))";
tabla2 ="CREATE TABLE cdasignaturas(codigo_curso char(10), codigo_asignatura char(10), abreviatura char(10), descripcion varchar(40), codigo_profesor char(10))";
tabla3 ="CREATE TABLE cdestudiantes(codigo_asignatura char(10), cedula char(40), nota char(5))";
s.executeUpdate(tabla1); s.executeUpdate(tabla2); s.executeUpdate(tabla3);
s.close (); System.out.println ("\n Tablas Creadas");
} catch (Exception e)
{ System.err.println ("Problemas con Creacion de la
Tabla\n"+e.toString()); } } catch (Exception e) { System.err.println ("No puede conectarse al Servidor Mysql"+e.toString()); } finally { if (conn != null) { try { conn.close (); System.out.println ("\n !!!!!Cerrada la coneccion a Mysql"); } catch (Exception e) { /* sin mensajes de error */ } } } } }
import java.io.*;
Programación III11
MySQL & Java_____________________________________________________________
import java.util.*;import java.sql.*;//clase que permite insertar datos en la tablaclass InsertaDatosEnLaTabla{
public void ingresarDatos( ){
Connection conn = null;try{
String userName = "FIEC-03";String password = "fiecest";
String url = "jdbc:mysql://serfiec:3306/prueba"; Class.forName ("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection (url, userName,
password); System.out.println ("Coneccion Database OKKK!!!"); try
{Statement s = conn.createStatement ();StringTokenizer token;FileReader datos=new FileReader("2006-
PRIMERO.txt");BufferedReader entrada=new BufferedReader(datos);int i=0;String linea;do{
String codigocurso="";String codasig1="";String codasig2="";String nombreasig="";String nombreprof="";String codprof="";String segundonombre="";
String primernombre="";int flag=0;token=new
StringTokenizer(linea=entrada.readLine());while (token.hasMoreTokens()){
if (token.nextToken().equals("FACULTAD"))
{token.nextToken();token.nextToken();
Programación III12
MySQL & Java_____________________________________________________________
if (token.nextToken().equals("ARQUITECTURA."))
{flag=1;
}}
}if (flag==1){
linea=entrada.readLine();
/*---------------------------------------------------------*/i=0;while (i<2){
token=new StringTokenizer(linea=entrada.readLine());
while (token.hasMoreTokens()){
token.nextToken();//escuela-carrera
}linea=entrada.readLine();i++;
}linea=entrada.readLine();linea=entrada.readLine();
/*---------------------------------------------------------*/i=0;while (i<2){
token=new StringTokenizer(linea=entrada.readLine());
if (i==0){
int j=0;while
(token.hasMoreTokens()){
if (j==2){
codigocurso=token.nextToken();}
Programación III13
MySQL & Java_____________________________________________________________
else //curso-asignatura
{
token.nextToken();}j++;
}linea=entrada.readLine();
}else{
int k=0;while
(token.hasMoreTokens()){
if (k==0){
token.nextToken();}else{
if (k==1){
codasig1=token.nextToken();}else{
if (k==2){
codasig2=token.nextToken();}else{
nombreasig=nombreasig+token.nextToken()+" ";}
}}
Programación III14
MySQL & Java_____________________________________________________________
k++;}linea=entrada.readLine();
}i++;
}
/*---------------------------------------------------------*/linea=entrada.readLine();linea=entrada.readLine();
/*---------------------------------------------------------*/int j=0;token=new
StringTokenizer(linea=entrada.readLine());while (token.hasMoreTokens()){
if (j==2){
codprof=token.nextToken(); //profesor
}else{
if ((j==3)||(j==4)){
nombreprof=nombreprof+token.nextToken()+" ";}else{
token.nextToken();}
}j++;
}token=new StringTokenizer(nombreprof,"
");segundonombre=token.nextToken();primernombre=token.nextToken();
/*---------------------------------------------------------*/linea=entrada.readLine();linea=entrada.readLine();linea=entrada.readLine();linea=entrada.readLine();
Programación III15
MySQL & Java_____________________________________________________________
linea=entrada.readLine();linea=entrada.readLine();linea=entrada.readLine();linea=entrada.readLine();linea=entrada.readLine();
/*---------------------------------------------------------*/do{
i=0;String cedula="";String nota="";token=new
StringTokenizer(linea=entrada.readLine());while (token.hasMoreTokens()){
if (i==0) {
token.nextToken(); } else {
if ((i==1)||(i==2)||(i==3)||(i==4))
{if(i==4){
cedula=cedula+token.nextToken();}else{
cedula=cedula+token.nextToken()+"-";}
//cedula-notas}else{
nota=token.nextToken();}
} i++;
}
Programación III16
MySQL & Java_____________________________________________________________
//sentencia para la insercion de datos en la tabla
String sql3="INSERT INTO cdestudiantes(codigo_asignatura, cedula, nota)"+"VALUES('"+codasig1+"','"+cedula+"','"+nota+"')";
s.executeUpdate(sql3);}while(linea.equals("
Programación III17
MySQL & Java_____________________________________________________________
")==false); /*---------------------------------------------------------*/ //sentencia para la insercion de datos en la tabla
String sql1="INSERT INTO cdasignaturas(codigo_curso, codigo_asignatura, abreviatura, descripcion, codigo_profesor)"+"VALUES ('"+codigocurso+"','"+codasig1+"','"+codasig2+"','"+nombreasig+"','"+codprof+"')"; s.executeUpdate(sql1);
//sentencia para la insercion de datos en la tabla String sql2="INSERT INTO cdprofesores(codigo_profesor, nombre, apellido)"+"VALUES ('"+codprof+"','"+primernombre+"','"+segundonombre+"')"; s.executeUpdate(sql2);
}/*fin del if(flag==1)*/i++;
}while(i<55631);
entrada.close();datos.close();s.close();System.out.println("\nDatos Insertados");
}catch(Exception error){
System.err.println(error.toString());}
}catch (Exception e) { System.err.println ("No puede conectarse al Servidor
Mysql"); } finally { if (conn != null) { try { conn.close (); System.out.println ("\n !!!!!Cerrada la coneccion a
Mysql"); } catch (Exception e) { /* sin mensajes de error */ }
Programación III18
MySQL & Java_____________________________________________________________
} } return;
}}
import javax.swing.*;import java.sql.*;//clase que permite consultar los datos de la base de datos public class SeleccionaDatosDeTabla { public void consultarCalificaciones() { CapturaeImpresion mensaje=new CapturaeImpresion();
String msg="Ingrese la Cédula que desea buscar: "; String ced=""; Connection conn = null;
try { String userName = "FIEC-03"; String password = "fiecest"; String url = "jdbc:mysql://serfiec:3306/prueba"; Class.forName ("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection (url, userName, password); System.out.println ("Conexion Database OKKK!!!"); try { Statement s = conn.createStatement (); ced=mensaje.obtenerdatos(msg);
//sentencia para la seleccion de datos de la tabla estudiantes
String sql= "SELECT * FROM cdestudiantes where cedula= '"+ced+"'";
s.executeQuery(sql); ResultSet rs = s.getResultSet(); int count = 0; int frac=0;
System.out.println("\n****************************"); System.out.println("LOS DATOS DE LA TABLA
SON:"); System.out.println("****************************"); while (rs.next ()) { System.out.println ("Asignatura= " +
rs.getString ("codigo_asignatura") + "\tCedula = " + rs.getString ("cedula") + "\tNota = " + rs.getString ("nota"));
Programación III19
MySQL & Java_____________________________________________________________
if(rs.getString ("nota").equals("F")) {
frac++;}
++count; } int total=frac/count; JOptionPane.showMessageDialog(null,"\nPORCENTAJE
DE ASIGNATURAS FRACASADAS >>>>"+total+"%"); s.close (); System.out.println ("\n Fin Del Despliegue");
} catch (Exception e)
{ System.err.println ("Problemas con acceso a la
tabla\n" + e); } } catch (Exception e) { System.err.println ("No puede conectarse al Servidor Mysql"+e.toString()); } finally { if (conn != null) { try { conn.close (); System.out.println ("\n !!!!!Cerrada la coneccion a Mysql"); } catch (Exception e) { /* sin mensajes de error */ } } } } }
import java.sql.*;//clase que permite actualizar datos de la base de datosclass ActualizarDatos{
//modifica los datos de la tabla profesorespublic void actualizarProfesores(){
Connection conn = null;
Programación III20
MySQL & Java_____________________________________________________________
try{
String userName = "FIEC-03";String password = "fiecest";String url = "jdbc:mysql://serfiec:3306/prueba";Class.forName ("com.mysql.jdbc.Driver").newInstance ();conn = DriverManager.getConnection (url, userName,
password); System.out.println ("Coneccion Database OKKK!!!");
CapturaeImpresion mensaje=new CapturaeImpresion();int sw1=0;try{
Statement s = conn.createStatement ();while(sw1==0){
String msg="Ingresar el codigo del profesor: ";
String code=mensaje.obtenerdatos(msg);
String sql= "SELECT * FROM cdprofesores where codigo_profesor= '"+code+"'"; s.executeQuery(sql);
ResultSet rs = s.getResultSet();
int count = 0;System.out.println("\
n****************************");System.out.println("LOS
DATOS DE LA TABLA SON:");
System.out.println("****************************");while (rs.next ()){
System.out.println ("Codigo= " + rs.getString ("codigo_profesor") + "\tNombre = " + rs.getString ("nombre") + "\tApellido = " + rs.getString ("apellido"));
++count; }
rs=s.executeQuery(sql);if (!rs.next()){
System.out.println("Error Ingresando los datos :la cedula no existe");
}
Programación III21
MySQL & Java_____________________________________________________________
else{
sw1=1;}
if(sw1==1){
int sw=0;while(sw==0){ System.out.println("\
n**Escoja el campo que desea actualizar**");
System.out.println("*************************************");
System.out.println("(1). Codigo del profesor");
System.out.println("(2). nombre");
System.out.println("(3). apellido");
System.out.println("(4). salir");
System.out.println("*************************************"); String msg2="Indique
su opcion: "; int
op=Integer.parseInt(mensaje.obtenerdatos(msg2));
if(op==1) {
String comodin1=mensaje.obtenerdatos("Ingrese el nuevo codigo del profesor");
String sql1= "UPDATE cdprofesores SET codigo_profesor ='"+comodin1+"' where codigo_profesor ='"+code+"'";
s.executeUpdate(sql1);
System.out.println("LOS DATOS HAN SIDO ACTUALIZADO:"); } else { if (op==2)
{
Programación III22
MySQL & Java_____________________________________________________________
String comodin2=mensaje.obtenerdatos("Ingrese el nuevo nombre");
String sql2= "UPDATE cdprofesores SET nombre ='"+comodin2+"' where codigo_profesor ='"+code+"'";
s.executeUpdate(sql2);
System.out.println("LOS DATOS HAN SIDO ACTUALIZADO:");
}else{
if(op==3) {
String comodin3=mensaje.obtenerdatos("Ingrese el nuevo apellido");
String sql3= "UPDATE cdprofesores SET nombre ='"+comodin3+"' where codigo_profesor ='"+code+"'";
s.executeUpdate(sql3);
System.out.println("LOS DATOS HAN SIDO ACTUALIZADO:");}else{
sw=1;}
}//else }//else
}//while }//if
}//while
}
catch(Exception e){
System.out.println("Error borrando los datos : "+e.toString());
}
}
Programación III23
MySQL & Java_____________________________________________________________
catch(Exception error){
System.err.println ("No puede conectarse al Servidor Mysql"+error.toString());
}}//
//modifica los datos de la tabla asignaturaspublic void actualizarAsignaturas()
{Connection conn = null;try{
String userName = "FIEC-03";String password = "fiecest";String url = "jdbc:mysql://serfiec:3306/prueba";Class.forName ("com.mysql.jdbc.Driver").newInstance
();conn = DriverManager.getConnection (url, userName,
password); System.out.println ("Coneccion Database OKKK!!!");
CapturaeImpresion mensaje=new CapturaeImpresion();
int sw1=0;try{
Statement s = conn.createStatement ();while(sw1==0){
String msg="Ingresar el codigo de asignatura ";
String code=mensaje.obtenerdatos(msg);
String sql= "SELECT * FROM cdasignaturas where codigo de asignatura= '"+code+"'";
s.executeQuery(sql);ResultSet rs =
s.getResultSet();int count = 0;System.out.println("\
n****************************");System.out.println("LOS
DATOS DE LA TABLA SON:");
System.out.println("****************************");while (rs.next ()){
Programación III24
MySQL & Java_____________________________________________________________
System.out.println("Curso= " + rs.getString ("codigo_curso") + " Asig.= " + rs.getString ("codigo_asignatura") + " Abrev.= " + rs.getString ("abreviatura") + " Descr.= " + rs.getString ("descripcion") + " Profesor = " + rs.getString ("codigo_profesor"));
++count; }
rs=s.executeQuery(sql);if (!rs.next()){
System.out.println("Error Ingresando los datos :la cedula no existe");
}else{
sw1=1;}
if(sw1==1){
int sw=0;while(sw==0){
System.out.println("\n**Escoja el campo que desea actualizar**");
System.out.println("*************************************");
System.out.println("(1). Curso");
System.out.println("(2). Codigo de asignatura");
System.out.println("(3). abreviatura");
System.out.println("(4). descripcion");
System.out.println("(5). codigo de profesor");
System.out.println("(6). salir");
System.out.println("*************************************"); String
msg2="Indique su opcion: "; int
op=Integer.parseInt(mensaje.obtenerdatos(msg2));
Programación III25
MySQL & Java_____________________________________________________________
if(op==1) {
String comodin1=mensaje.obtenerdatos("Ingrese el nuevo codigo del curso");
//sentencias para actualizar los campos de la tabla asignaturas
String sql1= "UPDATE cdasignaturas SET codigo_curso ='"+comodin1+"' where codigo_asignatura ='"+code+"'";
s.executeUpdate(sql1);
System.out.println("LOS DATOS HAN SIDO ACTUALIZADO:"); } else { if (op==2)
{
String comodin2=mensaje.obtenerdatos("Ingrese el nuevo codigo de asignatura");
//sentencias para actualizar los campos de la tabla asignaturas
String sql2= "UPDATE cdasignaturas SET codigo_asignatura ='"+comodin2+"' where codigo_asignatura ='"+code+"'";
s.executeUpdate(sql2);
System.out.println("LOS DATOS HAN SIDO ACTUALIZADO:");
}else{
if(op==3)
{
String comodin3=mensaje.obtenerdatos("Ingrese la nueva abreviatura");
//sentencias para actualizar los campos de la tabla asignaturas
Programación III26
MySQL & Java_____________________________________________________________
String sql3= "UPDATE cdasignaturas SET abreviatura ='"+comodin3+"' where codigo_asignatura ='"+code+"'";
s.executeUpdate(sql3);
System.out.println("LOS DATOS HAN SIDO ACTUALIZADO:");}
else{
if(op==4)
{
String comodin4=mensaje.obtenerdatos("Ingrese la nueva descripcion");
//sentencias para actualizar los campos de la tabla asignaturas
String sql3= "UPDATE cdasignaturas SET descripcion ='"+comodin4+"' where codigo_asignatura ='"+code+"'";
s.executeUpdate(sql3);
System.out.println("LOS DATOS HAN SIDO ACTUALIZADO:");
}
else
{
sw=1;
}}
}//else }//else
}//while }//if
}//while
}
Programación III27
MySQL & Java_____________________________________________________________
catch(Exception e){
System.out.println("Error borrando los datos : "+e.toString());
}
}catch(Exception error){
System.err.println ("No puede conectarse al Servidor Mysql"+error.toString());
}}//
}//
import javax.swing.*;//clase que permite capturar datos y devolverlosclass CapturaeImpresion{
//metodo que permite obtener datospublic String obtenerdatos(String msg){
String ret; ret=JOptionPane.showInputDialog(null,"\n"+msg);return (ret);
}//metodos que permiten devolver datospublic void desplegardatos(String msg1){
JOptionPane.showMessageDialog(null,"\n"+msg1);}
public void desplegardatos(String msg1,String dt1){
JOptionPane.showMessageDialog(null,"\n"+msg1+" "+dt1);}
}
import java.sql.*;//clase que permite eliminar las tablas public class EliminaTabla { public static void main (String[] args) {
Programación III28
MySQL & Java_____________________________________________________________
Connection conn = null;
try { String userName = "FIEC-02"; String password = "estudiante"; String url = "jdbc:mysql://serfiec:3306/prueba"; Class.forName ("com.mysql.jdbc.Driver").newInstance (); conn = DriverManager.getConnection (url, userName, password); System.out.println ("Coneccion Database OKKK!!!"); try { Statement s = conn.createStatement ();
//sentencias para elminar las tablas de la base de datos
s.executeUpdate("DROP TABLE cdprofesores"); s.executeUpdate("DROP TABLE cdasignaturas"); s.executeUpdate("DROP TABLE cdestudiantes"); s.close (); System.out.println ("\n tablas eliminadas");
} catch (Exception e)
{ System.err.println ("Problemas con acceso a la
tabla\n"+e); } } catch (Exception e) { System.err.println ("No puede conectarse al Servidor Mysql"+e.toString()); } finally { if (conn != null) { try { conn.close (); System.out.println ("\n !!!!!Cerrada la coneccion a Mysql"); } catch (Exception e) { /* sin mensajes de error */ } } } } }
Programación III29
MySQL & Java_____________________________________________________________
CONCLUSIONES CONCLUSIONES
Podemos concluir diciendo que el estudio de las tecnologías de base de
datos como MySQL son de mucha importancia, porque por medio de ellas
hemos podido comprender su funcionamiento, además de poder
implementar tecnologías que están siendo utilizadas actualmente.
El desarrollo de actividades de diseño unidas al estudio de este tema nos
han permitido conocer mas a fondo el funcionamiento e implementación de
las clases y métodos utilizados en la conexión a bases de datos a través del
lenguaje de programación JAVA; ya que nos ha, por decirlo así,
comprometido a analizar y generar ideas con respecto al tema de la
conexión y acceso a bases de datos, por lo que el estudio de las mismas es
de mucha importancia en nuestra preparación, para poder realizar
aplicaciones utilizando la tecnología Java y MySQL.
Programación III30
MySQL & Java_____________________________________________________________
REFERENCIA ELECTRÓNICAREFERENCIA ELECTRÓNICA
Conexión a una base de datos en Java [en línea]. WebTaller.
http://www.webtaller.com/construccion/lenguajes/java/lecciones/conexion_a_
una_base_de_datos_en_java.php. [consulta: 10 de diciembre 2006].
Manual de MySQL [en línea]. WebTaller. http://www.webtaller.com/manual-
mysql/indice_manual_mysql.php . [consulta: 10 de diciembre 2006].
Java.sql [en línea]. The java developer Almanac.
http://www.exampledepot.com/egs/java.sql/pkg.html?l=rel#Database
%20Meta%20Data . [consulta: 12 de diciembre 2006].
Ejemplo simple de conexión y consulta a MySQL desde java [en línea].
Conexión y consulta a MySQL desde Java.
http://www.geocities.com/chuidiang/java/mysql/EjemploJava.html .[consulta:
11 diciembre 2006].
Catálogos de tutoriales de java [en línea]. Adictos al trabajo.
http://www.adictosaltrabajo.com/java/java.php?pagina=seccionjava .
[consulta: 14 de diciembre de 2006]
Programación III31
MySQL & Java_____________________________________________________________
Sun Microsystems [En línea]: " JDBC Data Access API ". http://java.sun.com/products/jdbc/index.html . [consulta: 14 de diciembre 2006]
Programación III32