Вы находитесь на странице: 1из 6

Ejercicio: Acceso a Base de datos Mysql desde Java.

Objetivos:

 Crear una base de datos con phpMyAdmin


 Generar consultas de insercióndesde una aplicación en java.

I. Crear base de Datos:

1. Abrir phpMyAdmin desde el navegador, escribiendo en la barra de navegación:


http://localhost

2. Crear una base de datos con nombre “nombreapellido”, utilizando los cotejamientos
que se indican en la figura.

Ejemplo:

3. En la base de datos crear una tabla llamada encuesta que tendrá los siguientes
campos:

Nombre Campo Tipo Nulo extra


enc_id int No auto_increment, clave primaria
enc_preg Varchar(50) No
enc_resp1 Varchar(50) No
enc_resp2 Varchar(50) No
enc_resp3 Varchar(50) No
enc_val1 int No
enc_val2 int No
enc_val3 int No
enc_total int No
Así debe quedar la tabla:( hacer clic en el icono que está al lado
izquierdo de la tabla)

II. Crear aplicación en java

1. Lo primero es crear un proyecto nuevo y cargar en biblioteca el driver para


conectarse a una base de datos Mysql

Hacer clic en añadir biblioteca


Así debe verse en el proyecto

2. Creación del formulario para insertar en la tabla encuesta.

 Hay que tener en cuenta que todos los campos son obligatorios de agregar, por
lo tanto el formulario a crear debe permitir el ingreso de todos los campos de la
tabla encuesta.

 Para los campos que son auto incrementables no es necesario insertarlo, por
lo tanto el campo enc_idno es necesario incluirlo en el formulario.

a) Crear un JFrame llamado formPrincipal, como a continuación se detalla

Botones

Para los botones insertar encuesta y votar desactivar la propiedad enabled(esta


propiedad cambiará cuando esté conectado a la base de datos)

b) En el botón conectar colocaremos el código para conectarnos a la base de datos y a la


tabla encuesta.

Lo primero es declarar un objeto global de tipo Connecction


Teniendo este Connection, es posible crear sentencias ejecutables.

Una aplicación utiliza DriverManager para obtener un objeto de tipo conexión


Connection con una base de datos. Dicha conexión se establece con una URL del tipo:
jdbc:subprotocolo//servidor:puerto/base de datos.

Stringurl="jdbc:mysql://localhost/snaminao";//el nombre snaminao puede cambiarlo por el


nombre que usted asignó a la base de datos
String usuario="root";//nombre del usuario en mysql
Stringpassword=" "; //sin password
try // definimos en un try para controlar las excepciones
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
miConexion=DriverManager.getConnection(url, usuario, password);
JOptionPane.showMessageDialog(null, "conexionexitosa");
//aquí hay que activar los botones de insertar y votar

}
catch(InstantiationException e)
{
// Lanzada cuando una aplicación intenta crear una instancia de una clase utilizando el
//método newInstance de la clase Class
JOptionPane.showMessageDialog(null,e.getMessage());
}
catch(IllegalAccessException e)
{
JOptionPane.showMessageDialog(null,e.getMessage());
}
catch(ClassNotFoundException e)
{
//se lanza cuando no se encuentra el driver
JOptionPane.showMessageDialog(null,e.getMessage());
}
catch(SQLException e)
{
//se lanza cuando hay un error en la consulta sql o no existe la base de datos, todo lo
//relacionado con la base de datos
JOptionPane.showMessageDialog(null,e.getMessage());

c) Crear un nuevo formulario llamado formInsertar.


d) Este nuevo formulario debe ser como a continuación se detalla:

e) Ahora programamos el botón insertar que se encuentra en el formulario principal, el cual


abrirá el formulario formInsertar.

formInsertar.setVisible(true);

formInsertar.pack();

d) botón insertar de formInsertar

Para insertar en una base de datos desde java podemos utilizar statement o
preparedstatement para ejecutar la consulta INSERT. En este caso utilizaremos la segunda
opción porque necesitamos parámetros en la consulta.

PreparedStatement ps = null; //definimos el tipo de consulta


//definimos la consulta sql
Stringsql = "INSERT INTO encuesta (enc_preg, enc_resp1, enc_resp2, enc_resp3, enc_val1,
enc_val2, enc_val3, enc_total) VALUES (?,?,?,?, 0, 0, 0, 0)";

try {
ps = (PreparedStatement) miConexion.prepareStatement(sql);

ps.setString(1, txtPreg.getText());
ps.setString(2, txtResp1.getText());
ps.setString(3, txtResp2.getText());
ps.setString(4, txtResp3.getText());
ps.executeUpdate();
JOptionPane.showMessageDialog(null,"se insert correctamente");

}
catch (SQLException e) {

JOptionPane.showMessageDialog(null,e.getMessage());
}
finally { //siempre se ejecuta
try {
if (ps != null) ps.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null,e.getMessage());
}
}

Вам также может понравиться