martes, 19 de enero de 2016
Hola esta vez les traigo un ejercicio del lenguaje de programación java con MySQL desarrollando los procesos mas importantes para una base de datos que son eliminar, guardar, actualizar y insertar datos en MySQL.
1. Crear la base de datos correspondiente al proyecto
(Matriculas).
3. Creamos un proyecto en Netbeans con su respectivo
nombre (Sistema_Matriculas) y sus paquetes correspondientes
(Modelo,Vista,Controlador).
4. Creamos la clase que nos permite conectar con la base
de datos (Cls_Conexion) en el paquete controlador.
Tal y
como se lo muestra en el siguiente código:
Antes
de realizarla debemos agregar la librería My SQL Driver
public class
Cls_Conexion {
Connection miconexion=null;
public Connection conexion() {
try {
Class.forName("com.mysql.jdbc.Driver");
miconexion=DriverManager.getConnection("jdbc:mysql://localhost/Matriculas","root","root");}
catch (Exception e) {
System.out.printf(e.getMessage());}
return miconexion;
}
}
5.- Creamos la clase Estudiante con su constructor y métodos get y
set en este caso hemos puesto 7 atributos.
public class Cls_Estudiante {
public String Nombre,Apellido,Cedula,Telefono,Edad,Sexo,Direccion;
public Cls_Estudiante (){}
public Cls_Estudiante( String Nombre,
String Apellido, String Cedula, String Telefono, String Edad, String Sexo,
String Direccion) {
this.Nombre =
Nombre;
this.Apellido = Apellido;
this.Cedula = Cedula;
this.Telefono = Telefono;
this.Edad = Edad;
this.Sexo = Sexo;
this.Direccion = Direccion;
}
public String getNombre() {
return Nombre;
}
public void setNombre(String Nombre) {
this.Nombre =
Nombre;
}
public String getApellido() {
return Apellido;
}
public void setApellido(String Apellido) {
this.Apellido = Apellido;
}
public String getCedula() {
return Cedula;
}
public void setCedula(String Cedula) {
this.Cedula = Cedula;
}
public String getTelefono() {
return Telefono;
}
public void setTelefono(String Telefono) {
this.Telefono = Telefono;
}
public String getEdad() {
return Edad;
}
public void setEdad(String Edad) {
this.Edad = Edad;
}
public String getSexo() {
return Sexo;
}
public void setSexo(String Sexo) {
this.Sexo = Sexo;
}
public String getDireccion() {
return Direccion;
}
public void setDireccion(String Direccion)
{
this.Direccion
= Direccion;
}
}
6.
Creamos el formulario Frm_Estudiantes donde colocamos 8 labels 8 cajas de texto
8 botones, y además una tabla para mostrar los datos.
public class Frm_Estudiantes extends javax.swing.JFrame {
/**
* Creates new form Frm_Estudiantes
*/
public
Frm_Estudiantes() {
initComponents();
mostrardatoscedula("");
}
Método mostrar datos
public void MOSTRARDATOS(String valor){
DefaultTableModel modelo = new DefaultTableModel();
modelo.addColumn("ID");
modelo.addColumn("Nombre");
modelo.addColumn("Apellido");
modelo.addColumn("Cedula");
modelo.addColumn("Telefono");
modelo.addColumn("Edad");
modelo.addColumn("Sexo");
modelo.addColumn("Dirección");
Tabla_Datos.setModel(modelo);
String sql ="";
if
(valor.equals("")){
sql="Select * from
Tb_Estudiante";}
else{
sql="Select * from
Tb_Estudiante Where cedula='"+valor+"'";}
String []datos =new String [8];
try{
Statement st=(Statement)
cn.createStatement();
ResultSet rs= st.executeQuery(sql);
while(rs.next()){
datos[0]=rs.getString(1);
datos[1]=rs.getString(2);
datos[2]=rs.getString(3);
datos[3]=rs.getString(4);
datos[4]=rs.getString(5);
datos[5]=rs.getString(6);
datos[6]=rs.getString(7);
datos[7]=rs.getString(8);
modelo.addRow(datos);}
Tabla_Datos.setModel(modelo);}
catch(Exception e){}
}
7.
Código correspondiente al botón guardar
int op =
JOptionPane.showConfirmDialog(null,"Deseas guardar los datos");
if(op==
JOptionPane.YES_OPTION){
try {
PreparedStatement pst
=(PreparedStatement) cn.prepareStatement("INSERT INTO
Tb_Estudiante(Nombre,Apellido,Cedula,Telefono,Edad,Sexo,Direccion)
Values(?,?,?,?,?,?,?)");
String nombre =
txtNombre.getText();
String apellido =
txtApellido.getText();
String cedula =
txtCedula.getText();
String telefono =
txtTelefono.getText();
String edad
=cmbEdad.getSelectedItem().toString();
String sexo= txtSexo.getText();
String direccion =
txtDireccion.getText();
Cls_Estudiante
e = new Cls_Estudiante(nombre, apellido, cedula, telefono, edad, sexo,
direccion);
pst.setString(1,
e.getNombre());
pst.setString(2,
e.getApellido());
pst.setString(3,
e.getCedula());
pst.setString(4, e.getTelefono());
pst.setString(5, e.getEdad());
pst.setString(6, e.getSexo());
pst.setString(7,
e.getDireccion());
pst.executeUpdate();
mostrardatoscedula("");
} catch (Exception e) {
}
}else{
JOptionPane.showMessageDialog(null,"No se guardaron los
datos");
btnGuardar.setText("Interrumpido");
}
8.
Código correspondiente al botón Editar.
private void
EditarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int fila =Tabla_Datos.getSelectedRow();
if(fila>=0){
txtID.setText((String)
Tabla_Datos.getValueAt(fila, 0).toString());
txtNombre.setText((String)
Tabla_Datos.getValueAt(fila, 1).toString());
txtApellido.setText((String)
Tabla_Datos.getValueAt(fila, 2).toString());
txtCedula.setText((String)
Tabla_Datos.getValueAt(fila, 3).toString());
txtTelefono.setText((String)
Tabla_Datos.getValueAt(fila, 4).toString());
cmbEdad.setSelectedItem((String)
Tabla_Datos.getValueAt(fila, 5).toString());
cmbSexo.setSelectedItem((String)
Tabla_Datos.getValueAt(fila, 6).toString());
txtDireccion.setText((String)
Tabla_Datos.getValueAt(fila, 7).toString());
}
else{
JOptionPane.showMessageDialog(null,"No selecciono ningun dato");
}
}
9.
Código correspondiente al botón Actualizar.
try {
PreparedStatement pst =
(PreparedStatement) cn.prepareStatement(""
+
"UPDATE Tb_Estudiante SET Nombre='" + txtNombre.getText() +
"',Apellido='" +
txtApellido.getText() +
"',Cedula='" + txtCedula.getText()+
"',Telefono='"
+ txtTelefono.getText() +
"',Edad='" +
cmbEdad.getSelectedItem()+
"',Sexo='" +
cmbSexo.getSelectedItem()+
"',Direccion='"
+ txtDireccion.getText()+
"' Where id='" +
txtID.getText()+"'");
pst.executeUpdate();
mostrardatoscedula("");
} catch (SQLException ex) {}
10.
Código correspondiente al botón Eliminar
try {
int op = JOptionPane.showConfirmDialog(null,"Desea eliminar este
dato");
if(op==JOptionPane.YES_OPTION){
int fila
=Tabla_Datos.getSelectedRow();
String id =
Tabla_Datos.getValueAt(fila, 0).toString();
PreparedStatement pst =
(PreparedStatement) cn.prepareStatement("DELETE FROM Tb_Estudiante where
ID = '"+id+"'");
pst.executeUpdate();
mostrardatoscedula("");
}
else{
JOptionPane.showMessageDialog(null,"El dato no se ha
borrado");}
} catch (SQLException ex) {
}
11.
Creamos un popmenu dentro del navegador
12.
Agregamos dentro del popmenu dos menuItems, en este caso se llamarán Editar y
Eliminar
Algo importante luego de esto debemos
agregar el popmenu a nuestra tabla.
12.
Por último vamos a generar los reportes para poder presentar nuestros datos
para lo cual utilizamos el siguiente código
Código Reporte general
try {
JasperReport reporte =
JasperCompileManager.compileReport("Reporte_General");
JasperPrint imprime = JasperFillManager.fillReport(reporte,
null,this.cn);
JasperViewer.viewReport(imprime);
} catch (Exception e) {
System.out.printf("No
se ejecuta");
}
Código
Reporte Específico
Según
el parámetro Cedula
String
parametrocedula = txtCedula.getText();
Map parametro= new HashMap();
parametro.put("Cedula",parametrocedula);
try {
JasperReport reporte
=JasperCompileManager.compileReport("Reporte_Especifico.jrxml");
JasperPrint imprime =
JasperFillManager.fillReport(reporte,parametro,this.cn);
JasperViewer.viewReport(imprime);
} catch (Exception e) {
System.out.printf("No
se ejecuta"); }
Etiquetas:Programación
Suscribirse a:
Enviar comentarios
(Atom)
Datos personales:
Etiquetas
- Arduino (8)
- Auditoria (2)
- ConceptosAuditoria (2)
- EjerciciosRedes (2)
- Entregas (4)
- Introducción a la web (2)
- Noticias (7)
- Programación (2)
- Redes (6)
- Scratch (5)
Entradas populares
-
Hago presente mi segunda entrega de mi prototipo, empezando con los materiales que utilicé: -Arduino UNO.- Placa principal para dar func...
-
Esta vez les traigo un ejercicio de enrutamiento estático con 3 routers: Datos: Lan1: 172.168.0.0 /18 Lan2: 172.168.64.0 /18 Lan3...
-
A continuación mostrare el funcionamiento del sensor detector de colores TCS3200 con el arduino. Como habíamos dicho en la presentación d...
-
Hago presente mi cuarta entrega de mi prototipo, bueno empecemos por los materiales que se utilizó: -Arduino mega: Placa fundamental y p...
-
Hola estimados esta vez les traigo un tutorial de como instalar Packettracer 6.2 para el sistema operativo ubuntu, bueno sin mas rodeo v...
Muy bien su trabajo siga asi
ResponderEliminar