Documentos de Académico
Documentos de Profesional
Documentos de Cultura
solución informática.
2. Presentación
bases de datos. En la presente actividad usted aprenderá a conectar una aplicación Java
a una base de datos de Microsoft Access y también a un servidor Mysql, los cuales son
muy usados hoy en día. La diferencia entre una y otra base de datos, es que la de Access
GFPI-F-019 V3
Página 1 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
la instalación de un servidor. A través de las actividades que encontrará en esta guía usted
SQL, en particular, en una función de SQL que usted escogerá y expondrá a través de una
entrada en un blog. Finalmente, como producto final de esta guía usted deberá construir
una aplicación en JAVA con entorno gráfico que permita realizar consulta, inserción,
formación.
base de datos en un servidor Mysql, y también a una base de datos que se encuentra en
un archivo Access. El servidor Mysql puede ser instalado en el computador que ejecuta la
servidor en la nube (internet). Dependiendo del tipo de solución que se desarrolle, se debe
GFPI-F-019 V3
Página 2 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
docentes deben digitar las notas desde diferentes computadores ¿Qué opción
escogería?
¿Es posible desarrollar una base de datos en la nube, que funcione sin conexión a
para el aprendizaje
servidor de MySql a través del software XAMPP; este provee además del servidor
siguiente actividad:
GFPI-F-019 V3
Página 3 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
Precio INT(10)
entre otras bases de datos. La sentencia SELECT puede combinarse con algunas
funciones que permite realizar consultas avanzadas a las tablas. Algunas de esas
funciones son:
GROUP BY
DISTINCT
SUM
AVG
COUNT
CONCAT
MIN
MAX
Escoja una de las opciones anteriores e investigue en internet como usarla. En la actividad
donde explique con ejemplos diferentes como usar esta función realizando consultas en la
GFPI-F-019 V3
Página 4 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
datos en JAVA.
Java a través del paquete java.net.* provee las clases necesarias para conectar
aplicaciones con bases de datos. Las clases usadas son Connect, Statement, ResultSet,
PreparedStatement.
también están disponibles en el material de apoyo, modifíquelas para que esta aplicación
pueda manipular los registros de la tabla libros que usted creó anteriormente. En esta
aplicación.
Comprima las clases que usted creó en un archivo ZIP y entregue la actividad a través del
link Evidencia AA3. Producto. Creación de una aplicación con conexión a base de
datos. En actividades 3.
ConexionBD.java
import java.sql.*;
GFPI-F-019 V3
Página 5 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
public ConexionBD(){
if (conexion==null){
try {
conexion = DriverManager.getConnection(url,usuario,password);
} catch (SQLException e) {
e.printStackTrace();
return conexion;
try {
GFPI-F-019 V3
Página 6 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
if (conexion!=null){
conexion.close();
conexion=null;
System.out.println("Conexion Cerrada");
} catch (SQLException e) {
e.printStackTrace();
BaseDeDatos.java
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.*;
import javax.swing.*;
JTextArea txtSalida;
GFPI-F-019 V3
Página 7 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
JLabel
lNombres,lTelefono,lEliminar,lTituloInsertar,lTituloBorrar,lTituloActualizar,lActualizarNomb
res, lActualizarTelefono,lIdActualizar;
tfActualizarTelefono,tfIdActualizar;
JButton btGuardar,btEliminar,btActualizar;
JPanel panel;
//constructor
BasesDeDatos(){
panel.setLayout(null);
txtSalida=new JTextArea();
panel.add(scroll);
lTituloInsertar.setBounds(10,380,100,20);
panel.add(lTituloInsertar);
GFPI-F-019 V3
Página 8 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
lTituloBorrar.setBounds(310,380,100,20);
panel.add(lTituloBorrar);
lTituloActualizar.setBounds(500,380,200,20);
panel.add(lTituloActualizar);
lNombres.setBounds(10,410,100,20);
panel.add(lNombres);
tfNombres=new JTextField();
tfNombres.setBounds(110,410,100,20);
panel.add(tfNombres);
lTelefono.setBounds(10,440,100,20);
panel.add(lTelefono);
tfTelefono=new JTextField();
tfTelefono.setBounds(110,440,100,20);
panel.add(tfTelefono);
GFPI-F-019 V3
Página 9 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
btGuardar.setBounds(10,470,100,20);
btGuardar.addActionListener(this);
panel.add(btGuardar);
lEliminar.setBounds(310,400,100,20);
panel.add(lEliminar);
tfIdEliminar=new JTextField();
tfIdEliminar.setBounds(310,420,100,20);
panel.add(tfIdEliminar);
btEliminar.setBounds(310,440,100,20);
btEliminar.addActionListener(this);
panel.add(btEliminar);
lIdActualizar.setBounds(500,410,100,20);
panel.add(lIdActualizar);
tfIdActualizar=new JTextField();
tfIdActualizar.setBounds(610,410,100,20);
panel.add(tfIdActualizar);
GFPI-F-019 V3
Página 10 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
lActualizarNombres.setBounds(500,440,100,20);
panel.add(lActualizarNombres);
tfActualizarNombres=new JTextField();
tfActualizarNombres.setBounds(610,440,100,20);
panel.add(tfActualizarNombres);
lActualizarTelefono.setBounds(500,470,100,20);
panel.add(lActualizarTelefono);
tfActualizarTelefono=new JTextField();
tfActualizarTelefono.setBounds(610,470,100,20);
panel.add(tfActualizarTelefono);
btActualizar=new JButton("Actualizar");
btActualizar.addActionListener(this);
btActualizar.setBounds(500,500,100,20);
panel.add(btActualizar);
add (panel);
setSize(900,650);
setVisible(true);
GFPI-F-019 V3
Página 11 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocationRelativeTo(null);
mostrarDatos();
Connection c=ConexionBD.getConexion();
Statement comando;
try {
comando = c.createStatement();
while (registro.next()) {
int id;
String nombres,telefono;
id=registro.getInt("id");
nombres=registro.getString("nombres");
telefono=registro.getString("telefono");
GFPI-F-019 V3
Página 12 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
} catch (SQLException e) {
e.printStackTrace();
ConexionBD.desconectar();
if (e.getSource()==btGuardar){
Connection c=ConexionBD.getConexion();
try {
PreparedStatement st = c.prepareStatement(sql);
st.setString(1, tfNombres.getText());
st.setString(2, tfTelefono.getText());
st.executeUpdate();
tfNombres.setText("");
tfTelefono.setText("");
GFPI-F-019 V3
Página 13 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
st.close();
e1.printStackTrace();
mostrarDatos();
ConexionBD.desconectar();
if (e.getSource()==btEliminar){
Connection c=ConexionBD.getConexion();
try {
PreparedStatement st = c.prepareStatement(sql);
st.setString(1, tfIdEliminar.getText());
st.executeUpdate();
tfIdEliminar.setText("");
st.close();
e1.printStackTrace();
mostrarDatos();
GFPI-F-019 V3
Página 14 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
ConexionBD.desconectar();
if (e.getSource()==btActualizar){
Connection c=ConexionBD.getConexion();
WHERE id = ?";
try {
PreparedStatement st = c.prepareStatement(sql);
st.setString(1, tfActualizarNombres.getText());
st.setString(2, tfActualizarTelefono.getText());
st.setString(3, tfIdActualizar.getText());
st.executeUpdate();
tfActualizarNombres.setText("");
tfActualizarTelefono.setText("");
tfIdActualizar.setText("");
st.close();
e1.printStackTrace();
GFPI-F-019 V3
Página 15 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
mostrarDatos();
ConexionBD.desconectar();
new BasesDeDatos();
3.6 Materiales
Material de formación
Material de apoyo
GFPI-F-019 V3
Página 16 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
4. Actividades de evaluación
5. Glosario de términos
DELETE: sentencia SQL que permite eliminar registros en una tabla de base de datos.
INSERT: sentencia SQL que permite la inserción de registros en la tabla de una base de
datos.
GFPI-F-019 V3
Página 17 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
ResultSet: clase de java que permite obtener los registros de la consulta a la base de
datos.
SELECT: sentencia SQL que permite consultar registros de una tabla de base de datos.
SQL: Structured Query Lenguaje. Es un lenguaje para manipulación de datos en una base
de datos.
Statement: clase de Java que permite preparar el estatuto para la consulta de registros
UPDATE: sentencia SQL que permite actualizar registros en una tabla de base de datos.
6. Referencias bibliográficas
https://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html Recuperado el
19 Abr de 2017.
https://docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html Recuperado el
19 Abr de 2017.
https://docs.oracle.com/javase/7/docs/api/java/sql/Statement.html Recuperado el
19 Abr de 2017.
GFPI-F-019 V3
Página 18 de 20
SERVICIO NACIONAL DE APRENDIZAJE SENA
Procedimiento de Desarrollo Curricular
GUÍA DE APRENDIZAJE
https://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html
de 2017.
GFPI-F-019 V3
Página 19 de 20