0% encontró este documento útil (0 votos)
1K vistas

Formulario Productos en Java

Este documento describe una clase Java para gestionar productos en una base de datos. La clase incluye métodos para cargar datos de productos de la base de datos a cuadros de texto y tablas, validar y guardar datos, y modificar el estado de los componentes de la interfaz. Se utilizan sentencias SQL y objetos como ResultSet y Statement para interactuar con la base de datos.

Cargado por

Richard Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
1K vistas

Formulario Productos en Java

Este documento describe una clase Java para gestionar productos en una base de datos. La clase incluye métodos para cargar datos de productos de la base de datos a cuadros de texto y tablas, validar y guardar datos, y modificar el estado de los componentes de la interfaz. Se utilizan sentencias SQL y objetos como ResultSet y Statement para interactuar con la base de datos.

Cargado por

Richard Martinez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

1

Formulario Personas

package Formulario;
import java.awt.event.KeyEvent;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.DecimalFormat;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import javax.swing.table.DefaultTableModel;
import Prg.Conexion;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* @author wily
*/
public class frmProducto extends javax.swing.JDialog {
Conexion nCon; //Conexion de la base de datos
String sentencia, idma, fechaInsert;
Statement ejecutar;//variable para ejecucion de sentencias
DecimalFormat numeros = new DecimalFormat("##,###,###");
ResultSet resultado;//variable para almacenar resultado de consultas
SimpleDateFormat formato = new SimpleDateFormat("yyyy-MM-dd");
DefaultTableModel mitabla = new DefaultTableModel();
char operacion;

public frmProducto(java.awt.Frame parent, boolean modal) {


super(parent, modal);
initComponents();
this.setLocationRelativeTo(null);
this.setResizable(false);
try {
ejecutar = nCon.getConexion().createStatement();
} catch (SQLException ex) {
Logger.getLogger(frmPersonas.class.getName()).log(Level.SEVERE, null, ex);
}
CargarComboM();
mitabla.addColumn("Codigo");
mitabla.addColumn("NombreProducto");
mitabla.addColumn("Precio Costo");
mitabla.addColumn("Precio Venta");
mitabla.addColumn("Nombre Marca");
modoEdicion(false);
mostrarDatos();
}
Validacion de campo
private void txtPrecioVActionPerformed(java.awt.event.ActionEvent evt) {
try {
int c = Integer.parseInt(txtPrecioC.getText());
int v = Integer.parseInt(txtPrecioV.getText());
if (v > 0) {
} else {
txtPrecioV.setText(Integer.toString(v));
JOptionPane.showMessageDialog(this, "El Precio de Venta no puede ser menor que cero", "Dato
Incorrecto", JOptionPane.WARNING_MESSAGE);
}
if (v > c) {
} else {
txtPrecioV.setText(Integer.toString(v));
JOptionPane.showMessageDialog(this, "El Precio de Venta no puede ser menor que el precio de
costo", "Dato Incorrecto", JOptionPane.WARNING_MESSAGE);
txtPrecioV.grabFocus();
txtPrecioV.setText(null);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "El valor debe ser numerico", "Campo Numerico",
JOptionPane.ERROR_MESSAGE);
txtPrecioV.grabFocus();
txtPrecioV.setText(null);
}
}

Botones y cuadros de texto


private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {
accionModificar();
}
private void btnCancelarActionPerformed(java.awt.event.ActionEvent evt) {
limpiarCuadros();
modoEdicion(false);
}
private void btnAgregarActionPerformed(java.awt.event.ActionEvent evt) {
accionAgregar();
}
private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {
accionGuardar();
}
private void cmbMarcaKeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
traerMarcas();
}
}
private void tablaProductoMouseClicked(java.awt.event.MouseEvent evt) {
cargarCuadros();
}
private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {
dispose();
}
private void txtPrecioCActionPerformed(java.awt.event.ActionEvent evt) {
try {
int prac = Integer.parseInt(txtPrecioC.getText());
if (prac > 0) {
} else {
txtPrecioC.setText(Integer.toString(prac));
JOptionPane.showMessageDialog(this, "El Precio de Costo no puede ser menor que cero", "Dato
Incorrecto", JOptionPane.WARNING_MESSAGE);
txtPrecioC.grabFocus();
txtPrecioC.setText(null);
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "El valor debe ser numerico", "Campo Numerico",
JOptionPane.ERROR_MESSAGE);
txtPrecioC.grabFocus();
txtPrecioC.setText(null);
}
}
private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {
accionEliminar();
}

Metodos
private void CargarComboM() {
sentencia = "SELECT * FROM marca_prod";
try {
resultado = ejecutar.executeQuery(sentencia);
while (resultado.next()) {
Object dato[] = new Object[1];
dato[0] = resultado.getObject(2).toString();
cmbMarca.addItem(dato[0]);
}
} catch (SQLException ex) {
Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void modoEdicion(boolean vL) {
txtNombre.setEnabled(vL);
txtIva.setEnabled(vL);
txtPrecioC.setEnabled(vL);
txtPrecioV.setEnabled(vL);
cmbMarca.setEnabled(vL);
tablaProducto.setEnabled(!vL);
btnAgregar.setEnabled(!vL);
btnGuardar.setEnabled(vL);
btnCancelar.setEnabled(vL);
btnModificar.setEnabled(!vL);
btnEliminar.setEnabled(!vL);
btnCerrar.setEnabled(!vL);
}
private void mostrarDatos() {
mitabla.setRowCount(0);
sentencia = "SELECT * FROM vistaProducto";
try {
resultado = ejecutar.executeQuery(sentencia);
while (resultado.next()) {
Object fila[] = new Object[8];
for (int x = 0; x < 8; x++) {
fila[x] = resultado.getObject(x + 1);
}
//asignar a tabla abstracta
mitabla.addRow(fila);
}
//asignar modelo a tabla(objeto)
tablaProducto.setModel(mitabla);
} catch (SQLException ex) {
Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
}
}

private void accionModificar() {


if(!txtNombre.getText().isEmpty()){
modoEdicion(true);
operacion = 'M';//indicamos la modificacion de registros
txtNombre.grabFocus();
}else{
JOptionPane.showMessageDialog(this,"Haga clic en el registro que desee modificar",
"Seleccione un Producto",JOptionPane.WARNING_MESSAGE);
}
}
private void limpiarCuadros() {
txtCodigo.setText(null);
txtNombre.setText(null);
txtPrecioC.setText(null);
txtPrecioV.setText(null);
txtIva.setText(null);
txtFecha.setText("");
cmbMarca.setSelectedIndex(-1);
}
private void accionAgregar() {
sentencia = "SELECT MAX(Id_Producto)FROM Producto";
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 nombre
txtNombre.grabFocus();
//Ingresar fecha por defecti
Date fecha = new Date();
txtFecha.setValue(fecha);
fechaInsert = formato.format(fecha);
operacion = 'A';//Indica que estamos agregando registro
} catch (SQLException ex) {
Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void accionGuardar() {
//Obtener valores de cuadros en variables
String v1 = txtCodigo.getText();
String v2 = txtNombre.getText();

String v3 = fechaInsert;
String v4 = txtPrecioC.getText();
String v5 = txtPrecioV.getText();
String v6 = txtIva.getText();
String v7 = idma;
//validar los datos
if(txtNombre.getText().isEmpty()){
JOptionPane.showMessageDialog(this,"No se puede dejar en blanco");
txtNombre.grabFocus();
}
else{
//sentencia de almacenamiento
if(operacion=='A'){
sentencia = "INSERT INTO Producto
VALUES('"+v1+"','"+v2+"','"+v3+"','"+v4+"','"+v5+"','"+v6+"','"+v7+"')";
}else{
sentencia = "UPDATE Producto SET
idmarca_prod='"+v2+"',nombre_prodo='"+v3+"',precio_costo='"+v4+"',precioventa='"+v5+"',porcentaje='
"+v6+"' WHERE cod_prod='"+v1+"'";
}
try {
ejecutar.executeUpdate(sentencia);
} catch (SQLException ex) {
JOptionPane.showMessageDialog(this,"Error al almacenar\n"+ex);
}
//limpiar cuadros y modo edicion a falso
limpiarCuadros();
modoEdicion(false);
mostrarDatos();
}
}
private void traerMarcas() {
String xmar = cmbMarca.getSelectedItem().toString();
sentencia = "SELECT * FROM marca_prod WHERE Descrip_marca ='" + xmar + "'";
try {
resultado = ejecutar.executeQuery(sentencia);
resultado.first();
idma = resultado.getObject(1).toString();
System.out.print(idma);
} catch (SQLException ex) {
Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void cargarCuadros() {
int fSel = tablaProducto.getSelectedRow();
//Obtener id de la fila seleccionada

String xid = tablaProducto.getValueAt(fSel,0).toString();


//Traemos los datos del funcionario desde la tabla
sentencia="SELECT * FROM Producto WHERE Id_Producto ='"+xid+"'";
try {
resultado= ejecutar.executeQuery(sentencia);
resultado.next();
//cargamos los valores en los cuadros de texto
txtCodigo.setText(resultado.getObject(1).toString());
txtNombre.setText(resultado.getObject(2).toString());
txtFecha.setText(resultado.getObject(3).toString());
txtPrecioC.setText(resultado.getObject(4).toString());
txtPrecioV.setText(resultado.getObject(5).toString());
txtIva.setText(resultado.getObject(6).toString());
idma = resultado.getObject(7).toString();
//PARA MARCAS
sentencia = "SELECT * FROM marca_prod WHERE idmarca_prod='"+idma+"'";
resultado = ejecutar.executeQuery(sentencia);
resultado.next();
cmbMarca.setSelectedItem(resultado.getObject(2));
} catch (SQLException ex) {
Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
}
}
private void accionEliminar() {
if(!txtNombre.getText().isEmpty()){
//obtenemos el id de la categoria
String xid = txtCodigo.getText();
sentencia = "DELETE FROM producto WHERE cod_prod ='"+xid+"'";
int resp = JOptionPane.showConfirmDialog(this,"Confirma la eliminacion?",
"Confirme",JOptionPane.YES_NO_OPTION);
if(resp==JOptionPane.YES_OPTION){
try {
ejecutar.executeUpdate(sentencia);
} catch (SQLException ex) {
Logger.getLogger(frmProducto.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
mostrarDatos();
limpiarCuadros();
}

También podría gustarte