Sei sulla pagina 1di 9

PROGRAMACION ORIENTADA A OBJETOS

MANTENIMIENTO DE DATOS

Clase HabitacionBd
package javaexamen;
import java.sql.*;
import javax.swing.*;
public class HabitacionBd {
Connection con = null;
Statement stm = null;
ResultSet res = null;
Habitacion hab = null;
public HabitacionBd()
{
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
System.out.println("El Driver se cargo satisfactoriamente");
}catch(ClassNotFoundException e){
System.err.println("Error al cargar Driver\n" +e.getMessage());
}
try {
con=DriverManager.getConnection("jdbc:derby://localhost:1527/BDHO
TEL","sa","alumno");
stm=con.createStatement();
System.out.println("conexion satisfactoria");
}catch(SQLException e){
System.err.println("Error al cargar Driver\n" +e.getMessage());
}
}
public void grabar(Habitacion h) {
try {
String sql = "insert into HABITACION values('" + h.getNum() + "','" +
h.getTip() + "',"+ h.getPre() + ")";
stm.executeUpdate(sql);
stm.close();
con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error
Base de datos", JOptionPane.ERROR_MESSAGE);
}
}

public void eliminar(String n) {


try {
String sql = "delete from habitacion where num='" + n + "'";
stm.executeUpdate(sql);
stm.close();
con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error
Base de datos", JOptionPane.ERROR_MESSAGE);
}
}
public void actualizar(Habitacion h) {
try {
String sql ="update habitacion set tipo='"+ h.getTip() + "', precio=" +
h.getPre() + " where num='" + h.getNum() + "'";
stm.executeUpdate(sql);
stm.close();
con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error
Base de datos", JOptionPane.ERROR_MESSAGE);
}
}
public void buscar(String n) {
try {
String sql = "select * from habitacion where num='" + n + "'";
res = stm.executeQuery(sql);
while (res.next())
hab = new Habitacion(res.getString(1), res.getString(2),
res.getDouble(3));
stm.close();
con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Error
Base de datos", JOptionPane.ERROR_MESSAGE);
}
}
public Habitacion getHabitacion() {
return hab;
}
}

Clase Habitacion
Es una clase que encapsula los datos usando set y get
package javaexamen;
public class Habitacion {
String num, tip;
double pre;
public Habitacion(String n, String t, double p) {
this.num = n;
this.tip = t;
this.pre = p;
}
public String getNum() {
return num;
}
public String getTip() {
return tip;
}
public double getPre() {
return pre;
}
}

Clase Hotel

Esta clase permite comunicar la Clase HabitacionGui hacia la


Clase Habitacion y luego HabitacionBd cuando requiere guardar
y actualizar directamente hacia HabitacionBd cuando solo
Encapsula
requiere Buscar,Eliminar
Hotel

HabitacionG
ui

Habitacion

Guarda y Actualizar
Buscar y Eliminar
Clase
Hotel
package javaexamen;

HabitacionB
d

/**
*
* @author LAB-USR-PT116-C207
*/
public class Hotel {
public void grabarHabitacion(String n, String t, double p) {
Habitacion h = new Habitacion(n, t, p);
HabitacionBd hb = new HabitacionBd();
hb.grabar(h);
}
public void eliminarHabitacion(String n) {
HabitacionBd hb = new HabitacionBd();
hb.eliminar(n);
}
public void actualizarHabitacion(String n, String t, double p) {
Habitacion h = new Habitacion(n, t, p);
HabitacionBd hb = new HabitacionBd();
hb.actualizar(h);
}
public Habitacion buscarHabitacion(String n) {
HabitacionBd hb = new HabitacionBd();
hb.buscar(n);
Habitacion hab = hb.getHabitacion();
return hab;
}
}

Clase HabitacionGui
package javaexamen;
import java.sql.*;
import javax.swing.*;
import javax.swing.table.DefaultTableModel;
/**
*
* @author LAB-USR-PT116-C207
*/
public class HabitacionGui extends javax.swing.JFrame {
/**
* Creates new form HabitacionGui
*/

Hotel h=new Hotel();

public HabitacionGui() {
initComponents();
}

public void mostrartabla()


{
Connection con=null;
Statement stm=null;
ResultSet rs=null;
try {
//Para establecer el modelo al JTable
final DefaultTableModel modelo = new DefaultTableModel();
this.jtQuery.setModel(modelo);
//Para conectarnos a nuestra base de datos
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//
con=DriverManager.getConnection("Jdbc:Odbc:dsnHotel","system","va
ndres");
try {
Class.forName("org.apache.derby.jdbc.ClientDriver");
System.out.println("El Driver se cargo satisfactoriamente");
}catch(ClassNotFoundException e){
System.err.println("Error al cargar Driver\n" +e.getMessage());
}
try {
con=DriverManager.getConnection("jdbc:derby://localhost:1527/BDHO
TEL","sa","alumno");
stm=con.createStatement();
System.out.println("conexion satisfactoria");

}catch(SQLException e){
System.err.println("Error al cargar Driver\n" +e.getMessage());
}
rs=stm.executeQuery("Select * from habitacion");
//Obteniendo la informacion de las columnas que
estan siendo consultadas
ResultSetMetaData rsMd = rs.getMetaData();
//La cantidad de columnas que tiene la consulta
int cantidadColumnas = rsMd.getColumnCount();
//Establecer como cabezeras el nombre de las colimnas
for (int i = 1; i <= cantidadColumnas; i++) {
modelo.addColumn(rsMd.getColumnLabel(i));
}
//Creando las filas para el JTable
while (rs.next()) {
Object[] fila = new Object[cantidadColumnas];
for (int i = 0; i < cantidadColumnas; i++) {
fila[i]=rs.getObject(i+1);
}
modelo.addRow(fila);
}
rs.close();
con.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
public void grabar(){
h.grabarHabitacion(t1.getText(),t2.getText(),Double.parseDouble(t3.g
etText()));
JOptionPane.showMessageDialog(null,"Registro
grabado");
}
public void buscar(){
Habitacion hab=h.buscarHabitacion(t1.getText());
if(hab!=null){
t1.setText(hab.getNum());
t2.setText(hab.getTip());
t3.setText(String.valueOf(hab.getPre()));
}else{
JOptionPane.showMessageDialog(null,"No existe el
registro solicitado");
t1.setText("");
}

}
public void actualizar(){
h.actualizarHabitacion(t1.getText(),t2.getText(),Double.parseDouble(t
3.getText()));
JOptionPane.showMessageDialog(null,"Registro
actualizado");
}
public void eliminar(){
h.eliminarHabitacion(t1.getText());
JOptionPane.showMessageDialog(null,"Registro
eliminado");
cancelar();
}
public void cancelar(){
t1.setText("");t2.setText("");t3.setText("");t1.requestFocus();
}
private void
jbtnGrabarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
grabar();mostrartabla();
}
private void jbtnBuscarActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
buscar();mostrartabla();
}
private void
jbtnActualizarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
actualizar();mostrartabla();
}
private void
jbtnEliminarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
eliminar();mostrartabla();
}
private void
jbtnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
cancelar();

}
private void jbtnListaActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
mostrartabla();
}

Potrebbero piacerti anche