Para descargar todo el proyecto los links están al final de la publicación.
Auto completar: para un combo y una caja de texto, esto lo encontraras al descargar el proyecto completo.
Cambio del diseño del formulario:
UIManager.setLookAndFeel(new SyntheticaBlackEyeLookAndFeel());
Métodos para realizar validaciones: Como por ejemplo solo números, solo letras, solo números y letras, solo números decimales, numeroRuc, numeroTelefono, edad, activarDesactivarBotones etc.
public static void activarControles(JComponent componetes, boolean estado) {
Component[] contenedor = componetes.getComponents();
for (int i = 0; i < contenedor.length; i++) {
if (contenedor[i] instanceof JTextField
|| contenedor[i] instanceof JLabel
|| contenedor[i] instanceof JButton
|| contenedor[i] instanceof JCheckBox
|| contenedor[i] instanceof JTextComponent
|| contenedor[i] instanceof JSpinner
|| contenedor[i] instanceof JDateChooser
|| contenedor[i] instanceof JComboBox) {
contenedor[i].setEnabled(estado);
}
}
}
public static void activarLimpiarControles(JComponent componetes, boolean estado) {
Component[] contenedor = componetes.getComponents();
Component aux;
for (int i = 0; i < contenedor.length; i++) {
if (contenedor[i] instanceof JTextField
|| contenedor[i] instanceof JLabel
|| contenedor[i] instanceof JButton
|| contenedor[i] instanceof JCheckBox
|| contenedor[i] instanceof JRadioButton
|| contenedor[i] instanceof JSpinner
|| contenedor[i] instanceof JDateChooser
|| contenedor[i] instanceof JTextComponent
|| contenedor[i] instanceof JComboBox) {
contenedor[i].setEnabled(estado);
if (contenedor[i] instanceof JTextField) {
aux = contenedor[i];
((JTextField) aux).setText("");
}
if (contenedor[i] instanceof JComboBox) {
aux = contenedor[i];
((JComboBox) aux).setSelectedIndex(-1);
}
if (contenedor[i] instanceof JCheckBox) {
aux = contenedor[i];
((JCheckBox) aux).setSelected(false);
}
if (contenedor[i] instanceof JRadioButton) {
aux = contenedor[i];
((JRadioButton) aux).setSelected(false);
}
if (contenedor[i] instanceof JDateChooser) {
aux = contenedor[i];
((JDateChooser) aux).setDate(null);
}
}
}
}
public static void soloNumeros(JTextField txt, int numeroCaracteres) {
txt.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent evt) {
char car = evt.getKeyChar();
if (car < '0' || car > '9') { // numero que estan entre 0-9
evt.consume();
}
if (numeroCaracteres > 0) {
if (txt.getText().length() == numeroCaracteres) {
evt.consume();
}
}
}
});
}
public static void soloNumerosDecimales(JTextField txt, int numeroCaracteres) {
txt.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent evt) {
char c = evt.getKeyChar();
if (((c < '0') || (c > '9')) && (c != KeyEvent.VK_BACK_SPACE) && (c != '.')) {
evt.consume();
}
if (c == '.' && txt.getText().contains(".")) {
evt.consume();
}
if (numeroCaracteres > 0) {
if (txt.getText().length() == numeroCaracteres) {
evt.consume();
}
}
}
});
}
public static void soloLetrasNumeros(JTextField txt, int numeroCaracteres) {
txt.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if ((c < 'a' || c > 'z')
&& (c < 'A' || c > 'Z')
&& (c < '0' || c > '9')
&& c != 'á' //Minúsculas
&& c != 'é'
&& c != 'í'
&& c != 'ó'
&& c != 'ú'
&& c != 'Á' //Mayúsculas
&& c != 'É'
&& c != 'Í'
&& c != 'Ó'
&& c != 'Ú'
&& (c != (char) e.VK_SPACE)) {
e.consume(); //evita que se escriba el caracter
}
if (numeroCaracteres > 0) {
if (txt.getText().length() == numeroCaracteres) {
e.consume();
}
}
}
});
}
public static void soloLetras(JTextField txt, int numeroCaracteres) {
txt.addKeyListener(new KeyAdapter() {
@Override
public void keyTyped(KeyEvent e) {
char c = e.getKeyChar();
if ((c < 'a' || c > 'z')
&& (c < 'A' || c > 'Z')
&& c != 'á' //Minúsculas
&& c != 'é'
&& c != 'í'
&& c != 'ó'
&& c != 'ú'
&& c != 'Á' //Mayúsculas
&& c != 'É'
&& c != 'Í'
&& c != 'Ó'
&& c != 'Ú'
&& (c != (char) e.VK_SPACE)) {
e.consume(); //evita que se escriba el caracter
}
if (numeroCaracteres > 0) {
if (txt.getText().length() == numeroCaracteres) {
e.consume();
}
}
}
});
}
public static String formatearNumero(double numero) {
DecimalFormatSymbols simbolos = new DecimalFormatSymbols();
simbolos.setDecimalSeparator('.');
simbolos.setGroupingSeparator(',');
DecimalFormat formato = new DecimalFormat("###,###.00", simbolos);
return formato.format(numero);
}
public static MaskFormatter validarEntradas(int op) {
MaskFormatter mascara = null;
try {
switch (op) {
case 1:
// ruc
mascara = new MaskFormatter("###########");
break;
case 2:
// Fechas
mascara = new MaskFormatter("##/##/####");
break;
case 3:
// Telefono Fijo
mascara = new MaskFormatter("(##) ## ## ##");
// mascara.setValidCharacters("0123456789");
break;
case 4:
// Celular
mascara = new MaskFormatter("### ### ###");
break;
case 5:
// Dni
mascara = new MaskFormatter("########");
break;
}
} catch (ParseException erro) {
}
return mascara;
}
public class ModeloComboCargoTrabajador extends AbstractListModel
implements ComboBoxModel {
private Cargo seleccionado;
private List<Cargo> listaCargos;
public Cargo getSeleccionado() {
return seleccionado;
}
public void setSeleccionado(Cargo seleccionado) {
this.seleccionado = seleccionado;
}
public List<Cargo> getListaCargos() {
return listaCargos;
}
public void setListaCargos(List<Cargo> listaCargos) {
this.listaCargos = listaCargos;
}
@Override
public int getSize() {
int cantidad = 0;
if (this.listaCargos != null) {
cantidad = this.listaCargos.size();
}
return cantidad;
}
@Override
public Object getElementAt(int i) {
Object dato = null;
if (this.listaCargos != null) {
dato = this.listaCargos.get(i).getNombreCargo();
}
return dato;
}
@Override
public void setSelectedItem(Object o) {
this.seleccionado = null;
if (o != null && this.listaCargos != null) {
for (Cargo u : listaCargos) {
if (u.getNombreCargo().equals(o.toString()) == true) {
this.seleccionado = u;
return;
}
}
}
}
@Override
public Object getSelectedItem() {
String valor = "";
if (this.seleccionado != null) {
valor = this.seleccionado.getNombreCargo();
}
return valor;
}
// Este Codigo se AGrega Adicionalmente al de lo modelos
// El cual devolvera el boton modificar
public void setCargoTrabajador(Cargo car) {
this.seleccionado = null;
if (car != null && this.listaCargos != null) {
for (Cargo c : this.listaCargos) {
if (c.getNombreCargo().equals(car.getNombreCargo())) {
this.seleccionado = c;
return;
}
}
}
}
public void setCargoTrabajadorId(Trabajador tra) {
this.seleccionado = null;
if (tra != null && this.listaCargos != null) {
for (Cargo c : this.listaCargos) {
if (c.getCodigo()== tra.getCodigo()) {
this.seleccionado = c;
return;
}
}
}
}
}
Modelo Tabla
public class ModeloTablaTrabajador extends AbstractTableModel {
private List<Trabajador> listaTrabajadores;
public List<Trabajador> getListaTrabajadores() {
return listaTrabajadores;
}
public void setListaTrabajadores(List<Trabajador> listaTrabajadores) {
this.listaTrabajadores = listaTrabajadores;
this.fireTableDataChanged();
}
@Override
public String getColumnName(int columna) {
String nombreColumna = "";
switch (columna) {
case 0:
nombreColumna = "Nombres";
break;
case 1:
nombreColumna = "Direccion";
break;
case 2:
nombreColumna = "Celular";
break;
case 3:
nombreColumna = "Edad";
break;
case 4:
nombreColumna = "DNI";
break;
}
return nombreColumna;
}
@Override
public int getRowCount() {
int filas = 0;
if (this.listaTrabajadores != null) {
filas = this.listaTrabajadores.size();
}
return filas;
}
@Override
public int getColumnCount() {
return 5;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Trabajador tra;
Object valor = "";
if (this.listaTrabajadores != null) {
tra = this.listaTrabajadores.get(rowIndex);
switch (columnIndex) {
case 0:
valor = tra.getNombresCompletos();
break;
case 1:
valor = tra.getDireccion();
break;
case 2:
valor = tra.getCelular();
break;
case 3:
valor = tra.getEdad();
break;
case 4:
valor = tra.getDni();
break;
}
}
return valor;
}
}
Métodos para conectarme a una Base de Datos "Postgres": Insertar usando una cadena, insertar usando una función, insertar usando una función extendiendo de DAO y usando la clase parametro, insertar usando una cadena y extendiendo de DAO, listar etc.
Nota: para conectar con sqlserver hay algunas variaciones
Clase DAO
package DAO;
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.List;
public class DAOPostgres {
private Connection conexion;
private boolean transaccionIniciada;
private String driver= "org.postgresql.Driver";
protected Connection getConexion() {
return conexion;
}
protected void Conectar(boolean wTransaccion) throws Exception {
Class.forName(driver);
this.conexion = DriverManager.getConnection("jdbc:postgresql://localhost/bd_accesodatos_validaciones","postgres", "usatING123");
if (wTransaccion == true) {
this.conexion.setAutoCommit(false);
this.transaccionIniciada = true;
} else {
this.conexion.setAutoCommit(true);
this.transaccionIniciada = false;
}
}
protected void Cerrar(boolean wEstado) throws Exception {
if (this.conexion != null) {
if (this.transaccionIniciada == true) {
try {
if (wEstado == true) {
this.conexion.commit();
} else {
this.conexion.rollback();
}
} catch (Exception e) {
throw e;
}
}
try {
this.conexion.close();
} catch (Exception e) {
}
}
this.conexion = null;
}
protected void EjecutarOrden(String wSQL) throws Exception {
Statement st;
if (this.conexion != null) {
st = this.conexion.createStatement();
st.executeUpdate(wSQL);
}
}
protected ResultSet EjecutarOrdenDatos(String wSQL) throws Exception {
Statement st;
ResultSet rs = null;
if (this.conexion != null) {
st = this.conexion.createStatement();
rs = st.executeQuery(wSQL); //select
}
return rs;
}
protected Object EjecutarProcedimiento(String wProcedimiento, List<ParametroPostgres> wParametros) throws Exception {
CallableStatement cs;
Object valor = null;
int parSalida = -1;
int i = 1;
try {
cs = this.getConexion().prepareCall(wProcedimiento);
if (wParametros != null) {
for (ParametroPostgres par : wParametros) {
if (par.isEntrada() == true) {
cs.setObject(i, par.getValor());
// cs.setObject(par.getNombre(), par.getValor());
} else {
parSalida = i;
cs.registerOutParameter(i, par.getTipo());
}
i += 1;
}
}
cs.executeUpdate();
if (parSalida > 0) {
valor = cs.getObject(parSalida);
//valor = cs.getObject("xxx");
}
} catch (Exception e) {
throw e;
} finally {
cs = null;
}
return valor;
}
protected ResultSet EjecutarProcedimientoDatos(String wProcedimiento, List<ParametroPostgres> wParametros) throws Exception {
CallableStatement cs;
ResultSet rs = null;
int i = 1;
try {
cs = this.getConexion().prepareCall(wProcedimiento);
if (wParametros != null) {
for (ParametroPostgres par : wParametros) {
if (par.isEntrada() == true) {
cs.setObject(i, par.getValor());
} else {
cs.registerOutParameter(i, par.getTipo());
}
i += 1;
}
}
cs.execute();
//rs = cs.executeQuery();
rs = (ResultSet) cs.getObject(1);
} catch (Exception e) {
throw e;
} finally {
cs = null;
}
return rs;
}
}
Clase Parámetro:
package DAO;
public class ParametroPostgres {
private String nombre;
private Object valor;
private boolean entrada;
private int tipo;
public ParametroPostgres() {
this.entrada = true;
}
public ParametroPostgres(String nombre, Object valor) {
this.nombre = nombre;
this.valor = valor;
this.entrada = true;
}
public ParametroPostgres(String nombre, boolean entrada, int tipo) {
this.nombre = nombre;
this.valor = null;
this.entrada = entrada;
this.tipo = tipo;
}
public int getTipo() {
return this.tipo;
}
public void setTipo(int tipo) {
this.tipo = tipo;
}
public boolean isEntrada() {
return entrada;
}
public void setEntrada(boolean entrada) {
this.entrada = entrada;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public Object getValor() {
return valor;
}
public void setValor(Object valor) {
this.valor = valor;
}
}
Métodos para insertar y listar usando DAO y parámetro
public class DAOTrabajador extends DAOPostgres {
String driver = "org.postgresql.Driver";
String url = "jdbc:postgresql://localhost/bd_accesodatos_validaciones";
String usuario = "postgres";
String clave = "usatING123";
/**
* Este metodo me registra un trabajador utilizando una cadena Para poder
* utilizar este metodo es necesario extender de la clase DAO
*
* @param trabajador es la clase Trabajador
* @throws Exception
*/
public void regTrabajadorDAOCadena(Trabajador trabajador) throws Exception {
String sql = "insert into trabajador (nombre, dni, edad, sueldo, fechanacimiento, estado, direccion, telefono, celular, ruc, codigocargo)\n"
+ "values ('" + trabajador.getNombresCompletos()
+ "', '" + trabajador.getDni()
+ "', " + trabajador.getEdad()
+ ", " + trabajador.getSueldo()
+ ", '" + trabajador.getFechaNaciemiento()
+ "', " + trabajador.isEstado()
+ " , '" + trabajador.getDireccion()
+ "', '" + trabajador.getTelefonoFijo()
+ "','" + trabajador.getCelular()
+ "', '" + trabajador.getRuc()
+ "', " + trabajador.getCargoPersona().getCodigo() + ")";
try {
this.Conectar(true);
this.EjecutarOrden(sql);
this.Cerrar(true);
} catch (Exception e) {
this.Cerrar(false);
throw e;
} finally {
sql = "";
}
}
/**
* Este registrar es con una funcion creada en postgressql y para poder
* usarla es necesario extender de dao y tener la clase parametro, estas son
* de mucha utilidad si queremos optimizar y estandarizar nuestro codigo
*
* @param trab
* @throws Exception
*/
public void regTrabajadorDAOFuncion(Trabajador trab) throws Exception {
try {
Date a = new java.sql.Date(trab.getFechaNaciemiento().getTime());
List<ParametroPostgres> pars = new ArrayList<ParametroPostgres>();
pars.add(new ParametroPostgres("", trab.getNombresCompletos()));
pars.add(new ParametroPostgres("", trab.getDni()));
pars.add(new ParametroPostgres("", trab.getEdad()));
pars.add(new ParametroPostgres("", trab.getSueldo()));
pars.add(new ParametroPostgres("", a));
//parsRegistroResiduos.add(new Parametro("", new java.sql.Date(registroresiduos.getFechaGuiaRemicion().getTime())));
pars.add(new ParametroPostgres("", trab.isEstado()));
pars.add(new ParametroPostgres("", trab.getDireccion()));
pars.add(new ParametroPostgres("", trab.getTelefonoFijo()));
pars.add(new ParametroPostgres("", trab.getCelular()));
pars.add(new ParametroPostgres("", trab.getRuc()));
pars.add(new ParametroPostgres("", trab.getCargoPersona().getCodigo()));
this.Conectar(true);
this.EjecutarProcedimiento("{ call fu_r_Trababajador(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }", pars);
this.Cerrar(true);
} catch (Exception e) {
this.Cerrar(false);
throw e;
} finally {
}
}
/**
* Registro de trabajador, usando una candena
*
* @param trabajador
* @throws Exception
*/
public void regTrabajadorString(Trabajador trabajador) throws Exception { // Registro de una persina usando cadena
Connection cn = null;
Statement st = null; // SQL
String sql = "insert into trabajador (nombre, dni, edad, sueldo, fechanacimiento, estado, direccion, telefono, celular, ruc, codigocargo)\n"
+ "values ('" + trabajador.getNombresCompletos()
+ "', '" + trabajador.getDni()
+ "', " + trabajador.getEdad()
+ ", " + trabajador.getSueldo()
+ ", '" + trabajador.getFechaNaciemiento()
+ "', " + trabajador.isEstado()
+ " , '" + trabajador.getDireccion()
+ "', '" + trabajador.getTelefonoFijo()
+ "','" + trabajador.getCelular()
+ "', '" + trabajador.getRuc()
+ "', " + trabajador.getCargoPersona().getCodigo() + ")";
try {
Class.forName(this.driver); //Registro del driver
cn = DriverManager.getConnection(this.url, this.usuario, this.clave);
st = cn.createStatement();
st.executeUpdate(sql);
} catch (Exception e) {
throw e;
} finally {
if (st != null) {
st.close();
st = null;
}
if (cn != null) {
cn.close();
cn = null;
}
}
}
/**
* registro de trabajador usanso un funcion
*
* @param trabajador
* @throws Exception
*/
public void regTrabajadorFuncion(Trabajador trabajador) throws Exception {
Connection cn = null;
CallableStatement cs = null; // Es para la funcion
java.sql.Date f = new java.sql.Date(trabajador.getFechaNaciemiento().getTime());
try {
Class.forName(this.driver);
cn = DriverManager.getConnection(this.url, this.usuario, this.clave);
cs = cn.prepareCall("{ call fu_r_Trababajador(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }");
cs.setString(1, trabajador.getNombresCompletos());
cs.setString(2, trabajador.getDni());
cs.setInt(3, trabajador.getEdad());
cs.setFloat(4, trabajador.getSueldo());
cs.setDate(5, f);
cs.setBoolean(6, trabajador.isEstado());
cs.setString(7, trabajador.getDireccion());
cs.setString(8, trabajador.getTelefonoFijo());
cs.setString(9, trabajador.getCelular());
cs.setString(10, trabajador.getRuc());
cs.setInt(11, trabajador.getCargoPersona().getCodigo());
cs.executeUpdate();
} catch (Exception e) {
throw e;
} finally {
if (cs != null) {
cs.close();
cs = null;
}
if (cn != null) {
cn.close();
cn = null;
}
}
}
public List<Trabajador> lisTrabajadoresDAOFuncion() throws Exception {
List<Trabajador> listaTrabajadores;
List<ParametroPostgres> pars = new ArrayList();
Trabajador trab;
pars.add(new ParametroPostgres("", false, Types.OTHER));
ResultSet rs = null;
try {
this.Conectar(true);
rs = this.EjecutarProcedimientoDatos("{ ?= call fu_listar() }", pars);
listaTrabajadores = new ArrayList();
while (rs.next() == true) {
trab = new Trabajador();
trab.setCodigo(rs.getInt(1));
trab.setNombresCompletos(rs.getString(2));
trab.setDireccion(rs.getString(3));
trab.setCelular(rs.getString(4));
trab.setEdad(rs.getInt(5));
trab.setDni(rs.getString(6));
listaTrabajadores.add(trab);
}
this.Cerrar(true);
} catch (Exception e) {
this.Cerrar(false);
throw e;
}
return listaTrabajadores;
}
public List<Trabajador> lisTrabajadoresDAOCadena() throws Exception {
List<Trabajador> listaTrabajadores;
Trabajador trab;
ResultSet rs = null;
String sql = "SELECT codigo, nombre, direccion, celular, edad, dni from trabajador";
try {
this.Conectar(true);
rs = this.EjecutarOrdenDatos(sql);
listaTrabajadores = new ArrayList();
while (rs.next() == true) {
trab = new Trabajador();
trab.setCodigo(rs.getInt(1));
trab.setNombresCompletos(rs.getString(2));
trab.setDireccion(rs.getString(3));
trab.setCelular(rs.getString(4));
trab.setEdad(rs.getInt(5));
trab.setDni(rs.getString(6));
listaTrabajadores.add(trab);
}
this.Cerrar(true);
} catch (Exception e) {
this.Cerrar(false);
throw e;
} finally {
if (rs != null) {
rs.close();
rs = null;
}
trab = null;
sql = null;
}
return listaTrabajadores;
}
public List<Trabajador> lisTrabajadorCadena() throws Exception {
Connection cn = null;
Statement st = null;
List<Trabajador> lista = null;
Trabajador trab = null;
ResultSet rs;
String sql = "SELECT codigo, nombre, direccion, celular, edad, dni from trabajador";
try {
Class.forName(this.driver); // Registro driver
cn = DriverManager.getConnection(url, this.usuario, this.clave); //creo la coneccion
st = cn.createStatement();
rs = st.executeQuery(sql);
lista = new ArrayList();
while (rs.next() == true) {
trab = new Trabajador();
trab.setCodigo(rs.getInt(1));
trab.setNombresCompletos(rs.getString(2));
trab.setDireccion(rs.getString(3));
trab.setCelular(rs.getString(4));
trab.setEdad(rs.getInt(5));
trab.setDni(rs.getString(6));
lista.add(trab);
}
this.Conectar(false);
} catch (Exception e) {
this.Cerrar(false);
throw e;
} finally {
if (trab != null) {
trab = null;
}
if (cn != null || st != null) {
cn.close();
st.close();
}
}
return lista;
}
public List<Trabajador> listTrabajadorFuncion() throws Exception {
Connection cn = null;
ResultSet rs = null;
CallableStatement cs = null;
List<Trabajador> lisTrab = null;
Trabajador trab;
try {
Class.forName(this.driver); // Registro driver
cn = DriverManager.getConnection(url, this.usuario, this.clave);
cn.setAutoCommit(false); // desabilita el autocomic
cs = cn.prepareCall("{? = call fu_listar()}");
cs.registerOutParameter(1, Types.OTHER);
cs.execute(); // tiene que ser execute();
rs = (ResultSet) cs.getObject(1);
lisTrab = new ArrayList();
while (rs.next() == true) {
trab = new Trabajador();
trab.setCodigo(rs.getInt(1));
trab.setNombresCompletos(rs.getString(2));
trab.setDireccion(rs.getString(3));
trab.setCelular(rs.getString(4));
trab.setEdad(rs.getInt(5));
trab.setDni(rs.getString(6));
lisTrab.add(trab);
}
cn.commit();
} catch (Exception e) {
throw e;
} finally {
trab = null;
if (rs != null) {
rs.close();
rs = null;
}
}
return lisTrab;
}
public List<Trabajador> listTrabajadorFuncion(int codigo) throws Exception {
Connection cn = null;
ResultSet rs = null;
CallableStatement cs = null;
List<Trabajador> lisTrab = null;
Trabajador trab;
try {
Class.forName(this.driver); // Registro driver
cn = DriverManager.getConnection(url, this.usuario, this.clave);
cn.setAutoCommit(false); // desabilita el autocomic
cs = cn.prepareCall("{? = call fu_listar_parametro(?)}");
cs.registerOutParameter(1, Types.OTHER);
cs.setInt(2, codigo);
cs.execute(); // tiene que ser execute();
rs = (ResultSet) cs.getObject(1);
lisTrab = new ArrayList();
while (rs.next() == true) {
trab = new Trabajador();
trab.setCodigo(rs.getInt(1));
trab.setNombresCompletos(rs.getString(2));
trab.setDireccion(rs.getString(3));
trab.setCelular(rs.getString(4));
trab.setEdad(rs.getInt(5));
trab.setDni(rs.getString(6));
lisTrab.add(trab);
}
cn.commit();
} catch (Exception e) {
throw e;
} finally {
trab = null;
if (rs != null) {
rs.close();
rs = null;
}
}
return lisTrab;
}
public List<Trabajador> lisTrabajadoresDAOFuncion(int codigo) throws Exception {
List<Trabajador> listaTrabajadores;
List<ParametroPostgres> pars = new ArrayList();
Trabajador trab;
pars.add(new ParametroPostgres("", false, Types.OTHER));
pars.add(new ParametroPostgres("", codigo));
ResultSet rs = null;
try {
this.Conectar(true);
rs = this.EjecutarProcedimientoDatos("{ ?= call fu_listar_parametro(?) }", pars);
listaTrabajadores = new ArrayList();
while (rs.next() == true) {
trab = new Trabajador();
trab.setCodigo(rs.getInt(1));
trab.setNombresCompletos(rs.getString(2));
trab.setDireccion(rs.getString(3));
trab.setCelular(rs.getString(4));
trab.setEdad(rs.getInt(5));
trab.setDni(rs.getString(6));
listaTrabajadores.add(trab);
}
this.Cerrar(true);
} catch (Exception e) {
this.Cerrar(false);
throw e;
}
return listaTrabajadores;
}
}
Modelo Combo Descargar
Modelo Table Descargar
Método Validaciones: Descargar
Proyectos completo: Descargar ahí se encuentra el proyecto en una carpeta y en un archivo comprimido
Nota:
En el proyecto encontraras algunas cosas que no menciono que son de mucha ayuda para programar y se pueden agregar o mejorar mas cosas solo comenten y compartan. Ademas
3 comentarios
no funciona el link de Proyectos completo.
favor de resolverlo...gracias.
buen aporte me servio de mucho
Buenas tardes sera que pudieras subir de nuevo el proyecto y los ejercicios, se que ha pasado mucho tiempo
Gracias