SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
Ejemplo de base de datos y reports con jasper report
Abrimos netbeans (esta es la versión 8.1)
Creamos un proyecto nuevo
Creamos un JFrame en el empaquetado, si este no existe no hay problema ya que es solo un
ejemplo demostrativo.
En ese JFrame (que llamaremos Formulario1) colocamos un botón llamado Reporte para enlazar al
reporte PDF en un visor.
Para que nos abra el visor con el reporte que vamos a incorporar, debemos ya tener creado una
clase de Conexcion a base de datos (ya existente) porque necesitamos extraer la información de
ella, aquí la base de datos sin normalizar la conforma una tabla llamada bd, la trabajamos en mysql
-- phpMyAdmin SQL Dump
-- version 4.5.0.2
-- http://www.phpmyadmin.net
--
-- Servidor: 127.0.0.1
-- Tiempo de generación: 19-01-2016 a las 14:38:54
-- Versión del servidor: 10.0.17-MariaDB
-- Versión de PHP: 5.5.30
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS
*/;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Base de datos: `bd`
--
-- --------------------------------------------------------
--
-- Estructura de tabla para la tabla `alumnos`
--
CREATE TABLE `alumnos` (
`id` int(11) NOT NULL,
`cedula` varchar(20) NOT NULL,
`nombre` varchar(50) NOT NULL,
`nota1` float NOT NULL,
`nota2` float NOT NULL,
`nots3` float NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Volcado de datos para la tabla `alumnos`
--
INSERT INTO `alumnos` (`id`, `cedula`, `nombre`, `nota1`, `nota2`,
`nots3`) VALUES
(1, '111111', 'ana', 12, 18, 20),
(2, '2222', 'bernardo', 30, 30, 40),
(3, '3333', 'carlina', 2, 3, 4),
(4, '44444', 'daniel', 22, 21, 32),
(5, '6666', 'felicia', 11, 0, 0),
(6, '777', 'gerardo', 28, 29, 39),
(7, '8888', 'henan', 3, 7, 8),
(8, '999', 'irina', 7, 8, 9),
(9, '101010', 'julia', 3, 22, 21),
(10, '11 11 11', 'kiko', 7, 6, 4);
--
-- Õndices para tablas volcadas
--
--
-- Indices de la tabla `alumnos`
--
ALTER TABLE `alumnos`
ADD PRIMARY KEY (`id`),
ADD UNIQUE KEY `cedula` (`cedula`);
--
-- AUTO_INCREMENT de las tablas volcadas
--
--
-- AUTO_INCREMENT de la tabla `alumnos`
--
ALTER TABLE `alumnos`
MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Como ven, la tabla que se llamó alumnos ya tiene algunos registros, está en localhost, el usuario es
root y no tiene clave.
Para crear la clase de conexión llamamos en librería la misma que permite la conexión con mysql
Esta es la clase de conexcion
Y este su código
import java.awt.HeadlessException;
import java.sql.*;
import javax.swing.JOptionPane;
public class Conexcion {
public Connection con=null;
public Statement stat=null;
public ResultSet reg=null;
public Connection conectar(){
try{
Class.forName("com.mysql.jdbc.Driver");
con=DriverManager.getConnection("jdbc:mysql://localhost/bd","root","");
} catch(ClassNotFoundException | SQLException | HeadlessException e){
JOptionPane.showMessageDialog(null,"No Conectado");
System.exit(0);
}
return con;
}
public void manejar(Connection con, String sql){
try {
stat=con.createStatement();
stat.executeUpdate(sql);
JOptionPane.showMessageDialog(null,"DATOS INCLUIDOS");
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"DATOS NO INCLUIDOS");
}
}
public ResultSet leer(Connection con,String query) {
try{
stat=con.createStatement();
reg=stat.executeQuery(query);
} catch (SQLException e) {
}
return reg;
}
}
Como se observa, se tienen tres variables importantes, una de tipo Connection para conectar al
servidor y la base de datos mediante la librería que se incorporó previamente
(com.mysql.jdbc.Driver), una variable para la iclusión y modificación de registros en alguna tabla
de la base de datos mediante instrucciones sql como: INSERT INTO ‘nombre’_tabla(campos de la
tabla) VALUES (datos a incorporar) entre otras que ya conocen, que es de tipo Statement y una de
tipo ResultSet para realizar consultas o querys con SELECT campos_de_tabla WHERE condiciones.
Para probar si se conecta a la base de datos, se puede utilizar el JFrame con el botón para
incorporar información, a continuación se configura el Formulario1 y se utiliza el botón para
incorporar información y después revisamos la base de datos a ver si funciona, si se observan los
datos que están en la tabla
Hay 10 registros, el último es KIKO.
Al hacer en el diseñador dobleclick sobre el botón se genera el siguiente evento de botón en el
source
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
Lo primero es verificar si la clase se encuentra en el mismo empaquetado, en caso que no sea así,
se debe importar la clase Conexcion e instanciarla para poder hacer uso de sus métodos, esto se
hace antes del inicio de la class. Y se escribe
Import Nombre_Empaquetado_donde_se_encuentra_ Conexcion.Conexcion;
Solo si se encontrara en otro empaquetado.
Antes de los eventos se puede instanciar la class Conexcion
Conexcion conexcion=new Conexcion();
Connection c=conexcion.conectar();
String query;
Dentro del evento de botón, se incorpora el dato de forma directa ya que es una prueba y la
finalidad es crear el reporte. En query se coloca la instrucción de insertar un registro.
query="INSERT INTO alumnos VALUES (id,'24332670','zara',12,23,33)";
Hay un alerta en la línea 63, esto es porque se declaró una variable tipo Connection y esta no está
incorporada al código, se hace click en el ícono para ver las opciones.
Se selecciona la opción donde se importa la librería Connection, esto queda así.
Y desaparece el alerta.
En la class Main en el método principal, instanciamos el formulario y lo hacemos visible para
ejecutarlo.
Formulario1 form1=new Formulario1();
form1.setVisible(true);
quedando de esta forma
Y se ejecuta.
Como no se creó la interfaz gráfica para ver los resultados se revisa la base de datos actualizada.
Después de ejecutado, con el JOpionPane da el mensaje de datos incluidos, posteriormente se
cierra el formulario
Se actualiza base de datos para verificar que el registro fue incorporado.
Y se observa que si se actualiza. Para generar el reporte se debe instalar un plugin de la página
oficial de netbeans en su versión mas actualizada.
Se descarga y se instala.

Más contenido relacionado

La actualidad más candente

Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosJosé Antonio Sandoval Acosta
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejasalexmerono
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Erivan Martinez Ovando
 
Base de datos de una pizzeria
Base de datos de una pizzeriaBase de datos de una pizzeria
Base de datos de una pizzeriaLupithaa Guerrero
 
Trabajo de diapositivas sql
Trabajo de diapositivas sqlTrabajo de diapositivas sql
Trabajo de diapositivas sqlAndreita Beltran
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datosLalo Osorio
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Jair Ospino Ardila
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datosAlvaro Cardona
 
Filtros avanzados en Excel
Filtros avanzados en ExcelFiltros avanzados en Excel
Filtros avanzados en ExcelBlancaTomas
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejerciciostestgrupocomex
 
Inferencia en Lógica de Primer Orden
Inferencia en Lógica de Primer OrdenInferencia en Lógica de Primer Orden
Inferencia en Lógica de Primer OrdenHéctor Estigarribia
 
pasos para conectar visual con access
pasos para conectar visual con accesspasos para conectar visual con access
pasos para conectar visual con accessguest035fce1
 
Excel DATEDIFF Function
Excel DATEDIFF FunctionExcel DATEDIFF Function
Excel DATEDIFF FunctionExcel
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacionalLuis Jherry
 

La actualidad más candente (20)

Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
Sql Consultas MáS Complejas
Sql Consultas MáS ComplejasSql Consultas MáS Complejas
Sql Consultas MáS Complejas
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Merge Sort
Merge SortMerge Sort
Merge Sort
 
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
 
Base de datos de una pizzeria
Base de datos de una pizzeriaBase de datos de una pizzeria
Base de datos de una pizzeria
 
Trabajo de diapositivas sql
Trabajo de diapositivas sqlTrabajo de diapositivas sql
Trabajo de diapositivas sql
 
SENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVERSENTENCIAS DE SQL SERVER
SENTENCIAS DE SQL SERVER
 
Bitácora de base de datos
Bitácora de base de datosBitácora de base de datos
Bitácora de base de datos
 
Triggers o disparadores en MySQL
Triggers o disparadores en MySQL Triggers o disparadores en MySQL
Triggers o disparadores en MySQL
 
Codigo para crear la base de datos
Codigo para crear la base de datosCodigo para crear la base de datos
Codigo para crear la base de datos
 
7.2. funciones sql
7.2.  funciones sql7.2.  funciones sql
7.2. funciones sql
 
Filtros avanzados en Excel
Filtros avanzados en ExcelFiltros avanzados en Excel
Filtros avanzados en Excel
 
Programación MySQL-Ejercicios
Programación MySQL-EjerciciosProgramación MySQL-Ejercicios
Programación MySQL-Ejercicios
 
Reglas de Codd
Reglas de CoddReglas de Codd
Reglas de Codd
 
Inferencia en Lógica de Primer Orden
Inferencia en Lógica de Primer OrdenInferencia en Lógica de Primer Orden
Inferencia en Lógica de Primer Orden
 
pasos para conectar visual con access
pasos para conectar visual con accesspasos para conectar visual con access
pasos para conectar visual con access
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
Excel DATEDIFF Function
Excel DATEDIFF FunctionExcel DATEDIFF Function
Excel DATEDIFF Function
 
Algebra relacional
Algebra relacionalAlgebra relacional
Algebra relacional
 

Destacado

Hunger games Book Trailer by Montannah
Hunger games Book Trailer by MontannahHunger games Book Trailer by Montannah
Hunger games Book Trailer by Montannahharristeach
 
Английский христианский лагерь «еммануил»
Английский христианский лагерь «еммануил»Английский христианский лагерь «еммануил»
Английский христианский лагерь «еммануил»Natalia Os
 
Auditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónAuditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónjbersosa
 
Company profile aeu-2011_q2
Company profile aeu-2011_q2Company profile aeu-2011_q2
Company profile aeu-2011_q2Advantech Europe
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informaticajbersosa
 
Introduction to Quiet System Technology
Introduction to Quiet System TechnologyIntroduction to Quiet System Technology
Introduction to Quiet System TechnologyAdvantech Europe
 
India TV Guide for Android & iPhone
India TV Guide for Android & iPhoneIndia TV Guide for Android & iPhone
India TV Guide for Android & iPhoneIndia TV Guide
 
Clases jasper report
Clases jasper reportClases jasper report
Clases jasper reportjbersosa
 
SCJP, Clase 3: Asignaciones
SCJP, Clase 3: AsignacionesSCJP, Clase 3: Asignaciones
SCJP, Clase 3: Asignacionesflekoso
 
SCJP, Clase 4: Operadores
SCJP, Clase 4: OperadoresSCJP, Clase 4: Operadores
SCJP, Clase 4: Operadoresflekoso
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 javajbersosa
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcionalJuan Rodríguez
 
Equipos medicos1
Equipos medicos1Equipos medicos1
Equipos medicos1AlejoSico
 

Destacado (20)

Main
MainMain
Main
 
Try catch
Try catchTry catch
Try catch
 
Prog iv
Prog ivProg iv
Prog iv
 
Hunger games Book Trailer by Montannah
Hunger games Book Trailer by MontannahHunger games Book Trailer by Montannah
Hunger games Book Trailer by Montannah
 
Английский христианский лагерь «еммануил»
Английский христианский лагерь «еммануил»Английский христианский лагерь «еммануил»
Английский христианский лагерь «еммануил»
 
Auditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónAuditoría de sistemas de información presentación
Auditoría de sistemas de información presentación
 
Company profile aeu-2011_q2
Company profile aeu-2011_q2Company profile aeu-2011_q2
Company profile aeu-2011_q2
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
Asd
AsdAsd
Asd
 
Asd
AsdAsd
Asd
 
Introduction to Quiet System Technology
Introduction to Quiet System TechnologyIntroduction to Quiet System Technology
Introduction to Quiet System Technology
 
India TV Guide for Android & iPhone
India TV Guide for Android & iPhoneIndia TV Guide for Android & iPhone
India TV Guide for Android & iPhone
 
Clases jasper report
Clases jasper reportClases jasper report
Clases jasper report
 
SCJP, Clase 3: Asignaciones
SCJP, Clase 3: AsignacionesSCJP, Clase 3: Asignaciones
SCJP, Clase 3: Asignaciones
 
SCJP, Clase 4: Operadores
SCJP, Clase 4: OperadoresSCJP, Clase 4: Operadores
SCJP, Clase 4: Operadores
 
Modulos en Python
Modulos en PythonModulos en Python
Modulos en Python
 
Clase n°2 3-4 java
Clase n°2 3-4 javaClase n°2 3-4 java
Clase n°2 3-4 java
 
Pag Demanda Reemplazamiento
Pag Demanda ReemplazamientoPag Demanda Reemplazamiento
Pag Demanda Reemplazamiento
 
02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional02 python Programación orientada a objetos y funcional
02 python Programación orientada a objetos y funcional
 
Equipos medicos1
Equipos medicos1Equipos medicos1
Equipos medicos1
 

Similar a Ejemplo de base de datos y reports con jasper report

Conexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansConexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansjbersosa
 
Actualizacion de base de datos desde Visual Basic
Actualizacion de base de datos desde Visual Basic Actualizacion de base de datos desde Visual Basic
Actualizacion de base de datos desde Visual Basic EduardoMontiel18
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansEmerson Garay
 
Formulario
FormularioFormulario
FormularioRandy
 
Como crear un proyecto en visual Studio 2010
Como crear un proyecto en visual Studio 2010Como crear un proyecto en visual Studio 2010
Como crear un proyecto en visual Studio 2010a9788398
 
Base de datos con Visual Basic
Base de datos con Visual Basic Base de datos con Visual Basic
Base de datos con Visual Basic IrlandaSalero
 
Como conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverComo conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverKarolaynCardozo1
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspBoris Salleg
 
Cubo
CuboCubo
Cubokarla
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportjbersosa
 
Prueba regresion lineal
Prueba regresion linealPrueba regresion lineal
Prueba regresion linealThe Killer
 

Similar a Ejemplo de base de datos y reports con jasper report (20)

Conexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeansConexion sql server 2005 java netbeans
Conexion sql server 2005 java netbeans
 
Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)Ejemplo bbdd sqlite (android)
Ejemplo bbdd sqlite (android)
 
Guia7 java
Guia7 javaGuia7 java
Guia7 java
 
Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)Ejemplo Base de Datos SQLite (Android)
Ejemplo Base de Datos SQLite (Android)
 
Base datosvisualc#express2008
Base datosvisualc#express2008Base datosvisualc#express2008
Base datosvisualc#express2008
 
Actualizacion de base de datos desde Visual Basic
Actualizacion de base de datos desde Visual Basic Actualizacion de base de datos desde Visual Basic
Actualizacion de base de datos desde Visual Basic
 
desarrollo en 3 capas VB
desarrollo en 3 capas VBdesarrollo en 3 capas VB
desarrollo en 3 capas VB
 
Guia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando NetbeansGuia BD conexión Mysql con Java usando Netbeans
Guia BD conexión Mysql con Java usando Netbeans
 
Formulario
FormularioFormulario
Formulario
 
Como crear un proyecto en visual Studio 2010
Como crear un proyecto en visual Studio 2010Como crear un proyecto en visual Studio 2010
Como crear un proyecto en visual Studio 2010
 
Base de datos con Visual Basic
Base de datos con Visual Basic Base de datos con Visual Basic
Base de datos con Visual Basic
 
Como conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql serverComo conectar visual basic 6.0 a una base de datos microsoft sql server
Como conectar visual basic 6.0 a una base de datos microsoft sql server
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
 
Cubo
CuboCubo
Cubo
 
sqldeveloper2.pdf
sqldeveloper2.pdfsqldeveloper2.pdf
sqldeveloper2.pdf
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper report
 
Prueba regresion lineal
Prueba regresion linealPrueba regresion lineal
Prueba regresion lineal
 
284
284284
284
 
Lenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-proLenguaje de-programacion-iii-visual-fox-pro
Lenguaje de-programacion-iii-visual-fox-pro
 
Buenas
BuenasBuenas
Buenas
 

Más de jbersosa

Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standarjbersosa
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepcionesjbersosa
 
Estructuras de control try catch
Estructuras de control try catchEstructuras de control try catch
Estructuras de control try catchjbersosa
 
Clasen1java
Clasen1javaClasen1java
Clasen1javajbersosa
 
Programación java1
Programación java1Programación java1
Programación java1jbersosa
 
Tercercortesistop
TercercortesistopTercercortesistop
Tercercortesistopjbersosa
 
Encapsulacion
EncapsulacionEncapsulacion
Encapsulacionjbersosa
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principaljbersosa
 
Auditoria 2
Auditoria 2Auditoria 2
Auditoria 2jbersosa
 
Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891jbersosa
 
Auditoria de sistemas (1)
Auditoria de sistemas (1)Auditoria de sistemas (1)
Auditoria de sistemas (1)jbersosa
 
Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...jbersosa
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosjbersosa
 
Estructura de una red
Estructura de una redEstructura de una red
Estructura de una redjbersosa
 
Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2jbersosa
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportjbersosa
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportjbersosa
 
Simular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariaSimular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariajbersosa
 
Prog iii tercer corte
Prog iii tercer corteProg iii tercer corte
Prog iii tercer cortejbersosa
 

Más de jbersosa (20)

Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Estructuras de control try catch
Estructuras de control try catchEstructuras de control try catch
Estructuras de control try catch
 
Clasen1java
Clasen1javaClasen1java
Clasen1java
 
Programación java1
Programación java1Programación java1
Programación java1
 
Tercercortesistop
TercercortesistopTercercortesistop
Tercercortesistop
 
Encapsulacion
EncapsulacionEncapsulacion
Encapsulacion
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Auditoria 2
Auditoria 2Auditoria 2
Auditoria 2
 
Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891
 
Auditoria de sistemas (1)
Auditoria de sistemas (1)Auditoria de sistemas (1)
Auditoria de sistemas (1)
 
Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Php
PhpPhp
Php
 
Estructura de una red
Estructura de una redEstructura de una red
Estructura de una red
 
Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
 
Continuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper reportContinuacion ejemplo de base de datos y reports con jasper report
Continuacion ejemplo de base de datos y reports con jasper report
 
Simular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentariaSimular un next del recordset en php de forma rudimentaria
Simular un next del recordset en php de forma rudimentaria
 
Prog iii tercer corte
Prog iii tercer corteProg iii tercer corte
Prog iii tercer corte
 

Ejemplo de base de datos y reports con jasper report

  • 1. Ejemplo de base de datos y reports con jasper report Abrimos netbeans (esta es la versión 8.1) Creamos un proyecto nuevo Creamos un JFrame en el empaquetado, si este no existe no hay problema ya que es solo un ejemplo demostrativo.
  • 2. En ese JFrame (que llamaremos Formulario1) colocamos un botón llamado Reporte para enlazar al reporte PDF en un visor. Para que nos abra el visor con el reporte que vamos a incorporar, debemos ya tener creado una clase de Conexcion a base de datos (ya existente) porque necesitamos extraer la información de ella, aquí la base de datos sin normalizar la conforma una tabla llamada bd, la trabajamos en mysql -- phpMyAdmin SQL Dump -- version 4.5.0.2 -- http://www.phpmyadmin.net -- -- Servidor: 127.0.0.1 -- Tiempo de generación: 19-01-2016 a las 14:38:54 -- Versión del servidor: 10.0.17-MariaDB -- Versión de PHP: 5.5.30 SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8mb4 */; -- -- Base de datos: `bd` --
  • 3. -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `alumnos` -- CREATE TABLE `alumnos` ( `id` int(11) NOT NULL, `cedula` varchar(20) NOT NULL, `nombre` varchar(50) NOT NULL, `nota1` float NOT NULL, `nota2` float NOT NULL, `nots3` float NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -- Volcado de datos para la tabla `alumnos` -- INSERT INTO `alumnos` (`id`, `cedula`, `nombre`, `nota1`, `nota2`, `nots3`) VALUES (1, '111111', 'ana', 12, 18, 20), (2, '2222', 'bernardo', 30, 30, 40), (3, '3333', 'carlina', 2, 3, 4), (4, '44444', 'daniel', 22, 21, 32), (5, '6666', 'felicia', 11, 0, 0), (6, '777', 'gerardo', 28, 29, 39), (7, '8888', 'henan', 3, 7, 8), (8, '999', 'irina', 7, 8, 9), (9, '101010', 'julia', 3, 22, 21), (10, '11 11 11', 'kiko', 7, 6, 4); -- -- Õndices para tablas volcadas -- -- -- Indices de la tabla `alumnos` -- ALTER TABLE `alumnos` ADD PRIMARY KEY (`id`), ADD UNIQUE KEY `cedula` (`cedula`); -- -- AUTO_INCREMENT de las tablas volcadas -- -- -- AUTO_INCREMENT de la tabla `alumnos` -- ALTER TABLE `alumnos`
  • 4. MODIFY `id` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=11; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; Como ven, la tabla que se llamó alumnos ya tiene algunos registros, está en localhost, el usuario es root y no tiene clave. Para crear la clase de conexión llamamos en librería la misma que permite la conexión con mysql
  • 5. Esta es la clase de conexcion
  • 6. Y este su código import java.awt.HeadlessException; import java.sql.*; import javax.swing.JOptionPane; public class Conexcion { public Connection con=null; public Statement stat=null; public ResultSet reg=null; public Connection conectar(){ try{ Class.forName("com.mysql.jdbc.Driver"); con=DriverManager.getConnection("jdbc:mysql://localhost/bd","root",""); } catch(ClassNotFoundException | SQLException | HeadlessException e){
  • 7. JOptionPane.showMessageDialog(null,"No Conectado"); System.exit(0); } return con; } public void manejar(Connection con, String sql){ try { stat=con.createStatement(); stat.executeUpdate(sql); JOptionPane.showMessageDialog(null,"DATOS INCLUIDOS"); }catch(SQLException e){ JOptionPane.showMessageDialog(null,"DATOS NO INCLUIDOS"); } } public ResultSet leer(Connection con,String query) { try{ stat=con.createStatement(); reg=stat.executeQuery(query); } catch (SQLException e) { } return reg; } }
  • 8. Como se observa, se tienen tres variables importantes, una de tipo Connection para conectar al servidor y la base de datos mediante la librería que se incorporó previamente (com.mysql.jdbc.Driver), una variable para la iclusión y modificación de registros en alguna tabla de la base de datos mediante instrucciones sql como: INSERT INTO ‘nombre’_tabla(campos de la tabla) VALUES (datos a incorporar) entre otras que ya conocen, que es de tipo Statement y una de tipo ResultSet para realizar consultas o querys con SELECT campos_de_tabla WHERE condiciones. Para probar si se conecta a la base de datos, se puede utilizar el JFrame con el botón para incorporar información, a continuación se configura el Formulario1 y se utiliza el botón para incorporar información y después revisamos la base de datos a ver si funciona, si se observan los datos que están en la tabla Hay 10 registros, el último es KIKO. Al hacer en el diseñador dobleclick sobre el botón se genera el siguiente evento de botón en el source private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: } Lo primero es verificar si la clase se encuentra en el mismo empaquetado, en caso que no sea así, se debe importar la clase Conexcion e instanciarla para poder hacer uso de sus métodos, esto se hace antes del inicio de la class. Y se escribe
  • 9. Import Nombre_Empaquetado_donde_se_encuentra_ Conexcion.Conexcion; Solo si se encontrara en otro empaquetado. Antes de los eventos se puede instanciar la class Conexcion Conexcion conexcion=new Conexcion(); Connection c=conexcion.conectar(); String query; Dentro del evento de botón, se incorpora el dato de forma directa ya que es una prueba y la finalidad es crear el reporte. En query se coloca la instrucción de insertar un registro. query="INSERT INTO alumnos VALUES (id,'24332670','zara',12,23,33)"; Hay un alerta en la línea 63, esto es porque se declaró una variable tipo Connection y esta no está incorporada al código, se hace click en el ícono para ver las opciones.
  • 10. Se selecciona la opción donde se importa la librería Connection, esto queda así. Y desaparece el alerta. En la class Main en el método principal, instanciamos el formulario y lo hacemos visible para ejecutarlo. Formulario1 form1=new Formulario1();
  • 11. form1.setVisible(true); quedando de esta forma Y se ejecuta. Como no se creó la interfaz gráfica para ver los resultados se revisa la base de datos actualizada.
  • 12. Después de ejecutado, con el JOpionPane da el mensaje de datos incluidos, posteriormente se cierra el formulario Se actualiza base de datos para verificar que el registro fue incorporado. Y se observa que si se actualiza. Para generar el reporte se debe instalar un plugin de la página oficial de netbeans en su versión mas actualizada.
  • 13.
  • 14.
  • 15. Se descarga y se instala.