Sunteți pe pagina 1din 14

Universidad Abierta y Distancia de Mxico

Asignatura: Programacin Orientado a objetos II


Quinto cuatrimestre
Alumno: Roberto Nieto Morales
Matricula: al13502595

Evidencia de aprendizaje de la Tercera Unidad.

El uso programa hace uso de componentes grficos.

El programa cuenta con manejo de eventos.

Instrucciones:

En esta actividad mi objetivo es crear una base de datos para un control


escolar en el ingreso de alumnos, se crea una base de datos en un
manejador de bases de datos postgresql con el nombre de Escuela, y de
igual manera se crea un una tabla con el objeto alumnos con sus atributos
que son matricula, nombre, semestre y carrera.
En dicha tabla habr un control de ingresos de alumnos, la llave primaria es
matricula la cual acepta enteros, asimismo hay un control del semestre
cursado y el nombre de la carrera, no olvidando que tambin lleva el
nombre del alumno, son variables String.

En realidad la creacin de dicha tabla fue sencilla ya que para que se


manipule la creacin de esta, se utilizan los lenguajes SQL (DDL YDML).

Posteriormente se crea un programa en Netbeans, que se lleva a cabo de


igual manera una interfaz grfica de una tabla con los mismos atributos de
la tabla realizada en postgresql, para que al ltimo se manipule desde el
programa de netbeans, la base de datos creada en postgresql.

Se entrega el cdigo con la sentencia de creacin de la BD con la que


est ligado el programa

Database: escuela
-- DROP DATABASE escuela;
CREATE DATABASE escuela
WITH OWNER = postgres
ENCODING = 'UTF8'
TABLESPACE = pg_default
LC_COLLATE = 'Spanish_Spain.1252'
LC_CTYPE = 'Spanish_Spain.1252'
CONNECTION LIMIT = -1;

El

Se entrega el cdigo con las sentencias de creacin de tablas de


bases de datos con la que est ligado el programa

- Table: alumnos
-- DROP TABLE alumnos;
CREATE TABLE alumnos
(
matricula numeric NOT NULL,
nombre text,
semestre text,
carrera text,
CONSTRAINT alumnos_pkey PRIMARY KEY (matricula)
)
WITH (
OIDS=FALSE
);
ALTER TABLE alumnos
OWNER TO postgres;

desarrollo de la creacin de mi cdigo en el programa en netbeans est en


seguida ya que en el mismo se crea la interfaz grfica, la conexin a la base
de datos postgresql, y por ltimo se manipula con sentencias Statement
correr mi archivo me da resultados satisfactorios.

El programa realiza una correcta conexin con la base de datos

El programa incluye sentencias de manipulacin de datos que funcionan

Ilustracin 1SELECT*FROM alumnos

Ilustracin 2INSERT INTO alumnos VALUES('','','','')

El programa muestra respuestas del procesamiento y consultas correcto


*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/

package escuela;
import java.util.ArrayList;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
*
* @author Roberto
*/
public class JFalumnos extends javax.swing.JFrame {
ArrayList<alumno>listaAlumnos=new ArrayList<alumno>();
/**
* Creates new form JFalumnos
*/
public JFalumnos() {
initComponents();
}
public void limpiarCampos(){
this.jTmatricula.setText("");
this.jTnombre.setText("");
this.jTsemestre.setText("");
this.jTcarrera.setText("");
this.jLinfo.setText("");

}
public void inicializar(){
limpiarCampos();

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLtitulo = new javax.swing.JLabel();


jLmatricula = new javax.swing.JLabel();
jLnombre = new javax.swing.JLabel();
jLsemestre = new javax.swing.JLabel();
jLcarrera = new javax.swing.JLabel();
jTmatricula = new javax.swing.JTextField();
jTnombre = new javax.swing.JTextField();
jTsemestre = new javax.swing.JTextField();
jTcarrera = new javax.swing.JTextField();
jBguardar = new javax.swing.JButton();
jBlimpiar = new javax.swing.JButton();
jBcerrar = new javax.swing.JButton();
jLinfo = new javax.swing.JLabel();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

jLtitulo.setText("INGRESO DE ALUMNOS");

jLmatricula.setText("matricula");

jLnombre.setText("Nombre");

jLsemestre.setText("Semestre");

jLcarrera.setText("Carrera");

jBguardar.setText("Guardar");
jBguardar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBguardarActionPerformed(evt);
}
});

jBlimpiar.setText("Limpiar");
jBlimpiar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBlimpiarActionPerformed(evt);
}
});

jBcerrar.setText("Cerrar");
jBcerrar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jBcerrarActionPerformed(evt);
}
});

jLinfo.setText("INFORMACION");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());


getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)

.addGroup(layout.createSequentialGroup()
.addGap(195, 195, 195)
.addComponent(jLtitulo)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addGap(80, 80, 80)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jLnombre)
.addComponent(jLmatricula)
.addComponent(jLsemestre)
.addComponent(jLcarrera))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED,
javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING,
false)
.addComponent(jTcarrera, javax.swing.GroupLayout.Alignment.TRAILING,
javax.swing.GroupLayout.DEFAULT_SIZE, 108, Short.MAX_VALUE)
.addComponent(jTsemestre, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTnombre, javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(jTmatricula, javax.swing.GroupLayout.Alignment.TRAILING))
.addGap(120, 120, 120))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jBguardar)
.addGap(32, 32, 32)
.addComponent(jBlimpiar)
.addGap(18, 18, 18)
.addComponent(jBcerrar))
.addComponent(jLinfo, javax.swing.GroupLayout.PREFERRED_SIZE, 97,
javax.swing.GroupLayout.PREFERRED_SIZE))
.addContainerGap(132, Short.MAX_VALUE))))

);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(48, 48, 48)
.addComponent(jLtitulo)
.addGap(33, 33, 33)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLmatricula)
.addComponent(jTmatricula, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLnombre)
.addComponent(jTnombre, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(41, 41, 41)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLsemestre)
.addComponent(jTsemestre, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(37, 37, 37)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLcarrera)
.addComponent(jTcarrera, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jLinfo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28,
Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jBguardar)
.addComponent(jBlimpiar)
.addComponent(jBcerrar))

.addGap(23, 23, 23))


);

pack();
}// </editor-fold>

private void jBguardarActionPerformed(java.awt.event.ActionEvent evt) {


try{
int id=Integer.parseInt(this.jTmatricula.getText());
String nombre= jTnombre.getText();
String semestre=jTsemestre.getText();
String carrera=jTcarrera.getText();

alumno t = new alumno(id, nombre,semestre,carrera);


this.listaAlumnos.add(t);

this.jLinfo.setText("Alumno ingresado");
}catch(Exception e){
this.jLinfo.setText("Error de Ingreso");
}
}

private void jBlimpiarActionPerformed(java.awt.event.ActionEvent evt) {


limpiarCampos();
}

private void jBcerrarActionPerformed(java.awt.event.ActionEvent evt) {


this.dispose();

/**

* @param args the command line arguments


*/
public static void main(String args[]) throws SQLException, ClassNotFoundException {
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://localhost:5432/escuela";
String user = "postgres";
String password = "evolucionnieto";
Class.forName(driver);
Connection con = DriverManager.getConnection(url,user,password);
Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery("INSERT INTO alumnos VALUES


('348','BENJAMIN','QUINTO','SOFTWARE');");

while (rs.next()){
System.out.println("matricula " + rs.getString("matricula"));
System.out.println("nombre " + rs.getString("nombre"));
System.out.println("semestre " + rs.getString("semestre"));
System.out.println("carrera" + rs.getString("carrera"));

java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new JFalumnos().setVisible(true);
}
});
}
}

// Variables declaration - do not modify


private javax.swing.JButton jBcerrar;
private javax.swing.JButton jBguardar;
private javax.swing.JButton jBlimpiar;

private javax.swing.JLabel jLcarrera;


private javax.swing.JLabel jLinfo;
private javax.swing.JLabel jLmatricula;
private javax.swing.JLabel jLnombre;
private javax.swing.JLabel jLsemestre;
private javax.swing.JLabel jLtitulo;
private javax.swing.JTextField jTcarrera;
private javax.swing.JTextField jTmatricula;
private javax.swing.JTextField jTnombre;
private javax.swing.JTextField jTsemestre;
// End of variables declaration
}
Conclusin;
En realidad estuve confundido y quise hacer un programa que en el mismo,
se manejaran varias sentencias a la vez, pero siempre haba errores al
correr mi programa, as que decid en el mismo programa hacer cambios de
las sentencias y manipularlas y me dieron resultados satisfactorios ya que
al correr mi programa mostraba la consulta exacta.

S-ar putea să vă placă și