Crear formulario Referencial para tablas de dos campos, es un formulario para poder Insertar datos, Modificar datos y eliminar datos de una tabla con dos campos.
Importaciones:
package Referenciales;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import Prgs.Conexion;
import javax.swing.ImageIcon;
Variables generales:
public class frmReferencial extends javax.swing.JDialog {
String TituloG,TablaN,CampoId,CampoDes;
Conexion nCon; //Conexion de la base de datos
String sentencia; //sentencia que se va a ejecutar
Statement ejecutar;//variable para ejecucion de sentencias
ResultSet resultado;//variable para almacenar resultado de consultas
DefaultTableModel mitabla = new DefaultTableModel();
char operacion;
Configuración inicial o principal
public frmReferencial(java.awt.Frame parent, boolean modal, String TituloG, String TablaN, String CampoId, String CampoDes) {
super(parent, modal);
initComponents();
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setSize(700,480);
this.setTitle(" ..::"+TituloG+"::..");
jLabel1.setText(TituloG);
this.TablaN = TablaN;
this.TituloG = TituloG;
this.CampoId = CampoId;
this.CampoDes = CampoDes;
try {
ejecutar = Conexion.getConexion().createStatement();
} catch (SQLException ex) {
Logger.getLogger(frmReferencial.class.getName()).log(Level.SEVERE, null, ex);
}
//añadir columnas a la tabla abstracta
mitabla.addColumn("Codigo");
mitabla.addColumn("Descripcion");
modoEdicion(false);
mostrarDatos();
}
Acciones y eventos en botones:
private void txtDescripcionKeyReleased(java.awt.event.KeyEvent evt) {
String z;
z = this.txtDescripcion.getText();
this.txtDescripcion.setText(z.toUpperCase());
}
private void tablaReferencialMouseClicked(java.awt.event.MouseEvent evt) {
cargarCuadros();
}
private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) {
accionAgregar();
}
private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
accionGuardar();
}
private void btnCanelarActionPerformed(java.awt.event.ActionEvent evt) {
accionCancelar();
}
private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {
accionModificar();
}
private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {
accionEliminar();
}
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
Acciones
private void modoEdicion(boolean vL) {
txtCodigo.setEnabled(vL);
txtDescripcion.setEnabled(vL);
tablaReferencial.setEnabled(!vL);
btnAgregar.setEnabled(!vL);
btnGuardar.setEnabled(vL);
btnCanelar.setEnabled(vL);
btnModificar.setEnabled(!vL);
btnEliminar.setEnabled(!vL);
btnCerrar.setEnabled(!vL);
}
private void mostrarDatos() {
mitabla.setRowCount(0);
sentencia = "SELECT * FROM "+TablaN +" ORDER BY "+CampoId+" ";
try {
resultado = ejecutar.executeQuery(sentencia);
while(resultado.next()){
Object[] fila=new Object[2]; //definimos un arreglo de 3
fila[0] = resultado.getObject(1);
fila[1] = resultado.getObject(2);
//asignar a tabla abstracta
mitabla.addRow(fila);
}
//asignar modelo a tabla(objeto)
tablaReferencial.setModel(mitabla);
} catch (SQLException ex) {
Logger.getLogger(frmReferencial.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void accionAgregar() {
//Obtener valor maximo
sentencia = ("SELECT MAX(" + CampoId + ") FROM " + TablaN);
//sentencia = "SELECT MAX(idbarrios) FROM barrios";
try {
//ejecuta la consulta
resultado = ejecutar.executeQuery(sentencia);
//posicionamos al primer registro
resultado.next();
//obtenemos el valor entero del resultado
int xid = resultado.getInt(1);
//aumentar en 1
xid++;
//Asignar al cuadro codigo
txtCodigo.setText(Integer.toString(xid));
//Activar modo edicion (v)
modoEdicion(true);
//Enviar enfoque a Descripcion
txtDescripcion.grabFocus();
operacion = 'A';//Indica que estamos agregando registro
} catch (SQLException ex) {
Logger.getLogger(frmReferencial.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void accionGuardar() {
//Obtener valores de cuadros en variables
String v1 = txtCodigo.getText();
String v2 = txtDescripcion.getText();
//validar los datos
if(txtDescripcion.getText().isEmpty()){
JOptionPane.showMessageDialog(this,"No se puede dejar en blanco");
txtDescripcion.grabFocus();
}
else{
//sentencia de almacenamiento
if(operacion=='A'){
sentencia = "INSERT INTO " + TablaN + " VALUES('"+v1+"','"+v2+"')";
}else{
sentencia = "UPDATE " + TablaN + " SET " + CampoDes +"='"+v2+"' WHERE " + CampoId + "='"+v1+"'";
}
try {
ejecutar.executeUpdate(sentencia);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this,"Error al almacenar\n"+ex);
//Logger.getLogger(frmCargos.class.getName()).log(Level.SEVERE, null, ex);
}
//limpiar cuadros y modo edicion a falso
limpiarCuadros();
modoEdicion(false);
mostrarDatos();
}
}
private void accionCancelar() {
limpiarCuadros();
modoEdicion(false);
}
private void accionModificar() {
if(!txtDescripcion.getText().isEmpty()){
modoEdicion(true);
operacion = 'M';//indicamos la modificacion de registros
txtDescripcion.grabFocus();
}else{
JOptionPane.showMessageDialog(this,"Haga clic en el registro que desee modificar",
"Seleccione un estado",JOptionPane.WARNING_MESSAGE);
}
}
private void accionEliminar() {
if(!txtDescripcion.getText().isEmpty()){
//obtenemos el id del barrio
String xid = txtCodigo.getText();
sentencia = "DELETE FROM " + TablaN + " WHERE " + CampoId + "='"+xid+"'";
// sentencia = "DELETE FROM barrios WHERE idbarrios='"+xid+"'";
int resp = JOptionPane.showConfirmDialog(this,"Confirma la eliminacion del registro?",
"Confirme",JOptionPane.YES_NO_OPTION);
if(resp==JOptionPane.YES_OPTION){
try {
ejecutar.executeUpdate(sentencia);
} catch (SQLException ex) {
Logger.getLogger(frmReferencial.class.getName()).log(Level.SEVERE, null, ex);
}
}
}else{
JOptionPane.showMessageDialog(this,"Haga clic en el registro que desee Eliminar",
"Seleccione un estado",JOptionPane.WARNING_MESSAGE);
}
mostrarDatos();
limpiarCuadros();
}
private void limpiarCuadros() {
txtCodigo.setText(null);
txtDescripcion.setText(null);
}
private void cargarCuadros() {
int nroFila;
nroFila = tablaReferencial.getSelectedRow();
if (nroFila>=0){
//asignamos los valores a los cuadros
txtCodigo.setText(tablaReferencial.getValueAt(nroFila, 0).toString());
txtDescripcion.setText(tablaReferencial.getValueAt(nroFila,1).toString());
}
}
No hay comentarios:
Publicar un comentario