Está en la página 1de 7

Laboratorio Nro.

3 ( Lenguaje de Programacion-1)

PROCESO A DESARROLLAR EN EL LABORATORIO
1-Abrir el Proyecto Proyinicial desarrollado en el Laboratorio 1 que esta estructurarlo en 3 capas:
capa_lpresentacion , capa_logica y capa_datos . Tendr la siguiente estructura:


Crear El siguiente formulario JFrame Form en el paquete capa_presentacion:

FrmAcceso












txtusu txtclave

2-Crear la clase Usuario dentro del paquete capa_logica, la cual contendr los atributos que
contiene cualquier usuario de la aplicacin : usuario, clave y nivel. Los 3 atributos son de tipo cadena
y que debe corresponder con los campos de la tabla usuario. Se deben encapsular los campos de
esta clase( crear los Mtodos get y set)








public class Usuario {
protected String usuario;
protected String clave;
protected String nivel;
public Usuario(){
usuario="";
clave="";
nivel="";
}
public Usuario(String usuario, String clave, String nivel){
this.usuario=usuario
; this.clave=clave;
this.nivel=nivel;
}
public String getUsuario() {
return usuario;
}
public void setUsuario(String usuario) {
this.usuario = usuario;
}

public String getClave() {
return clave;
}

public void setClave(String clave) {
this.clave = clave;
}

public String getNivel() {
return nivel;
}

public void setNivel(String nivel) {
this.nivel = nivel;
}
}




3-Crear la clase UsuarioBD dentro del paquete capa_logica , que hereda de la clase ConexBD
sus atributos y mtodos. Posteriormente Ud. creara las clases PersonalBD, VentasBD y ProductosBD
que tambin tienen como clase padre a ConexBD. El contenido de la clase UsuarioBD sera:











package c a p a _ l o g i c a ;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;

public class UsuarioBD extends ConexBD {
private Usuario usuario;
private String tabla;

public UsuarioBD(String bd){
super(bd);
tabla="Usuarios";
try{
st= cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
rs= st.executeQuery("Select * from "+tabla);
}catch(SQLException e1){
System.out.println("ERROR SQL:"+ e1.getMessage());
}
}
public boolean insertar (Usuario u){
sql="insert into "+ tabla + " values('" +u.getUsuario()+
"','"+u.getClave()+"','"+ u.getNivel() +"')";
try{

st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
st.executeUpdate(sql);
rs = st.executeQuery("SELECT * FROM "+tabla);
return true;
}
catch(SQLException e1){
System.out.println("ERROR SQL:"+ e1.getMessage());
return false;
}
}

public boolean eliminar (String usuario){
sql="delete from "+ tabla + " where usuario='" +usuario+ "'";
try{
st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
st.executeUpdate(sql);
rs = st.executeQuery("SELECT * FROM "+tabla);
return true;
}
catch(SQLException e1){
System.out.println("ERROR SQL:"+ e1.getMessage());
return false;
}
}
}










5-Modificar la cabecera de la clase FrmAcceso agregando el objeto u1 que se instancia de la clase UsuarioBD y
tambin modificar el constructor para hacer la conexin con la bd sistemacont.

public class FrmAcceso extends javax.swing.JFrame {
UsuarioBD u1;


public FrmAcceso() {

initComponents();

u1= new UsuarioBD("sistemacont");

}


-Agregar el siguiente cdigo al botn Aceptar:

private void btnAceptarActionPerformed(java.awt.event.ActionEvent evt) {
String usuario, clave;
usuario=txtusu.getText();
clave=new String (txtclave.getPassword());
boolean hallado= false;
try
{
ResultSet rs= u1.getSt().executeQuery("select * from usuarios where usuario='"+ usuario+ "' and clave='"+
clave+"'" );
if (rs.next())
{ // si el usuario y clave son las correctas se procedea mostrar el menu principal maximizado
Frmmenu m1=new Frmmenu ();
m1.setExtendedState( Frmmenu.MAXIMIZED_BOTH);
m1.setVisible(true);
this.setVisible(false);
}
else
{ // sino se muestra un mensaje de error
JOptionPane.showMessageDialog(null, "Usuario o Clave Incorrecta");
hallado=false;
}

}
catch(SQLException e1){
System.out.println("ERROR SQL:"+ e1.getMessage());
}
}

}


-Crear el Formulario FrmUsuario de la clase JFrame Form en el paquete capa_present aci on

FrmUsuario









tblusuarios
( JTable )










-Utilizar un componente JTextField txtusu para ingresar el usuario , un componente JPasswordFIeld
txtclave para ingresar la clave y un JComboBox cbonivel que muestre las opciones Administrador y
Operador
-Codificar los botones Nuevo, Guardar,Eliminar, Consultar ,Modificar y Salir












Modificar la cabecera de la clase FrmUsuario agregando el Atributo u1 que se instancia
de la clase UsuarioBD y tambin modificar el constructor para hacer la conexin con la bd
sistemacont.


public class FrmUsuario extends
j avax.swing.JFrame {

UsuarioBD u1;


public FrmUsuario () {


initComponents();

u1=new UsuarioBD("sistemacont");







Agregar estas
2 lineas

}

-Para realizar el Movimiento a travs de los registros de la tabla con los botones de Desplazamiento (
primero, anterior, siguiente , ultimo) , crearemos el mtodo cargarReg el cual tiene un parmetro que de
tipo enumerado que especificar cual registro deseamos visualizar en el formulario. Agregar este mtodo
despus de la llave de cierre del constructor:


enum Movimiento {PRIMERO, ANTERIOR,SIGUIENTE,ULTIMO};
private void cargarReg(Movimiento r ){
try{
ResultSet rsusu=u1.getRs();
switch (r)
{
case PRIMERO:
rsusu.first(); break;
case ANTERIOR:
rsusu.previous();break;
case SIGUIENTE:
rsusu.next();break;
case ULTIMO:
rsusu.last();break;
}
txtusu.setText(rsusu.getString(1));
txtclave.setText(rsusu.getString(2));
cbonivel.setSelectedItem(rsusu.getString(3));

}catch (SQLException e1){
System.out.println("ERROR SQL en cargarReg:"+ e1.getMessage());
}
}


-El cdigo para el botn Guardar (btnguardar) de la Ficha de Mantenimiento de es:

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

// TODO add your handling code here: String
usuario=txtusu.getText(); String
clave=txtclave.getText(); String
nivel=cbotnivel.getSelectedItem().toString();
Usuario usu =new Usuario(usuario,clave,nivel);

if (u1.insertar(usu)==true ) JOptionPane.showMessageDialog(this, "Registro
Guardado");
else

JOptionPane.showMessageDialog(this, "ERROR al Guardar


}

También podría gustarte