FACULTAD DE INGENIERÍA
ESCUELA PROFESIONAL DE INGENIERIA DE SISTEMAS
PROYECTO A BASE DE DATOS
CUARTO AVANCE PROCEDIMIENTOS ALMACENADOS ELMINAR Y
FUNSIONES DE USUARIO Y TRIGGERS
CICLO V
DOCENTE TUTOR:
ING. LUIS A. INGA MENDOZA
ALUMNO:
FELIX LOPEZ, Alfred Guillermo
HUARAZ, 2016
IMPLEMENTACIÓN DE LOS PROCEDIMIENTOS
ALMACENADOS ELIMINAR
delimiter $ create procedure Eliminar_vededor(in id int) begin delete from vendedor where idVendedor=id; end $ delimiter $ create procedure Eliminar_cliente(in id int) begin delete from cliente where idCliente=id; end $ delimiter $ create procedure Eliminar_programa(in id int) begin delete from programa where idPrograma=id; end $ delimiter $ create procedure Eliminar_contrato(in id int) begin delete from contrato where idContrato=id; end $ delimiter $ create procedure Eliminar_tipoUsuario(in id int) begin delete from usuario where idTipoUsuario=id; end $
delimiter $ create procedure Eliminar_usuario(in id int) begin delete from usuario where idUsuario=id; end $
FUNSIONES DE USUARIO
Las Funciones de usuario lo implementen directamente desde el NetBeanz
Las funciones de usuario están para detallar los permisos que podrán tener cada usuario en el
sistema el administrador tendrá acceso total podrá ingresar,eliminar,actualizar por otra parte el
Vendedor solo podrá visualizar los contratos queingresa el encargado osea el administrador.
En la cual solo implemente 2 usuarios:
1. Administrador
2. Vendedor
public class cone_Acceso { private static ResultSet rs = null; private static Statement st = null; public static String ConsultarUsuario(String dn, String con) { String tipo="";
try { st = ConeBD.conectar().createStatement(); rs = st.executeQuery("select tipousuario.NomTipo from usuario\n" + "inner join tipousuario on tipousuario.idTipoUsuario=usuario.idTipoUsuario\n" + " where Dni='" + dn + "' and Contrasena='" + con + "'"); while (rs.next()) { tipo=rs.getString(1); } } catch (Exception e) { e.printStackTrace(); } return tipo; } } String dato=""; char[] contra=psPassword.getPassword(); for (int i = 0; i < contra.length; i++) { dato+=contra[i]; } String res=cone_Acceso.ConsultarUsuario(txtUsuario.getText(), dato); System.out.println(res); try { if (res.equals("Administrador")) { try { FrmPrincipal p=new FrmPrincipal(); p.setVisible(true); mandarCuadro(); infVienvenida.lblCargo.setText(res); this.dispose(); } catch (ClassNotFoundException ex) { Logger.getLogger(FrmAccesoSistema.class.getName()).log(Level.SEVERE, null, ex); } }else if(res.equals("Vendedor")){ try { FrmPrincipal p=new FrmPrincipal(); FrmPrincipal.miCliente.setVisible(false); FrmPrincipal.miPrograma.setVisible(false); FrmPrincipal.miUsuario.setVisible(false); FrmPrincipal.miVendedor.setVisible(false); FrmPrincipal.mContrato.setEnabled(false); FrmPrincipal.mComprobantedePago.setEnabled(false); p.setVisible(true); mandarCuadro(); infVienvenida.lblCargo.setText(res); this.dispose(); } catch (ClassNotFoundException ex) { Logger.getLogger(FrmAccesoSistema.class.getName()).log(Level.SEVERE, null, ex); } }else { JOptionPane.showMessageDialog(this, "Datos incorrectos (Revisar)");
} } catch (SQLException ex) { Logger.getLogger(FrmAccesoSistema.class.getName()).log(Level.SEVERE, null, ex); }
TRIGGERS
Los trigger son datos que se generan al hacer algún cambio a la tabla , sea insertar actualizar ,
eliminar o alguna consulta dependiendo como lo programes, básicamente sirve para registrar los
cambios que realiza determinado usuario en el sistema el cual se guarda en una carpeta creada
específicamente para guardar esa información, en mi caso lo creo como tablas de nombre bitácora.
create table bitacoracontrato (idBitacora int not null auto_increment primary key, accion varchar(45) not null, fechaAlta date) Engine=innodb ; DELIMITER // CREATE TRIGGER insertar AFTER INSERT ON contrato FOR EACH ROW BEGIN INSERT INTO bitacora (idBitacora, accion, fechaAlta) values (null,CONCAT('Nuevo Contrato: ',new.CodigoContrato),now()); END // create table bitacoracliente (idBitacora int not null auto_increment primary key, accion varchar(45) not null, fechaAlta date) Engine=innodb ; DELIMITER // CREATE TRIGGER insertar AFTER INSERT ON cliente FOR EACH ROW BEGIN INSERT INTO bitacora (idBitacora, accion, fechaAlta) values (null,CONCAT('Nuevo cliente: ',new.DniRuc),now()); END // create table bitacoraVendedor (idBitacora int not null auto_increment primary key, accion varchar(45) not null,
fechaAlta date) Engine=innodb ; DELIMITER // CREATE TRIGGER insertar AFTER INSERT ON vendedor FOR EACH ROW BEGIN INSERT INTO bitacora (idBitacora, accion, fechaAlta) values (null,CONCAT('Nuevo Vendedor: ',new.Dni),now()); END // create table bitacoraBoleta (idBitacora int not null auto_increment primary key, accion varchar(45) not null, fechaAlta date) Engine=innodb ; DELIMITER // CREATE TRIGGER insertar AFTER INSERT ON boleta FOR EACH ROW BEGIN INSERT INTO bitacora (idBitacora, accion, fechaAlta) values (null,CONCAT('Nuevo boleta: ',new.idContrato),now()); END // create table bitacoraFactura (idBitacora int not null auto_increment primary key, accion varchar(45) not null, fechaAlta date) Engine=innodb ; DELIMITER // CREATE TRIGGER insertar AFTER INSERT ON factura FOR EACH ROW BEGIN INSERT INTO bitacora (idBitacora, accion, fechaAlta) values (null,CONCAT('Nuevo factura: ',new.idContrato),now()); END // create table bitacoraprograma (idBitacora int not null auto_increment primary key, accion varchar(45) not null, fechaAlta date) Engine=innodb ; DELIMITER // CREATE TRIGGER insertar AFTER INSERT ON programa FOR EACH ROW BEGIN INSERT INTO bitacora (idBitacora, accion, fechaAlta) values (null,CONCAT('Nuevo programa: ',new.NombreP),now()); END //
Recommended