ejemplo de Grabar, Modificar y Eliminar con Base de Datos

formmant.jpg
Base de Datos

package javasql;

import java.sql.*;
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JComboBox;
import javax.swing.JTextArea;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.Dimension;

public class MantProductos extends JFrame {

private JPanel jContentPane = null;

private JLabel jLabel = null;

private JLabel jLabel1 = null;

private JLabel jLabel2 = null;

private JLabel jLabel3 = null;

private JLabel jLabel4 = null;

private JLabel jLabel5 = null;

private JTextField jTextField = null;

private JComboBox jComboBox = null;

private JTextField jTextField1 = null;

private JTextField jTextField2 = null;

private JTextField jTextField3 = null;

private JButton jButton = null;

private JButton jButton1 = null;

private JButton jButton2 = null;

private JButton jButton3 = null;

private JButton jButton4 = null;

private JTextArea jTextArea = null;

private JLabel jLabel6 = null;

private JLabel jLabel7 = null;

private JLabel jLabel8 = null;

private JLabel jLabel9 = null;

private JLabel jLabel10 = null;

private JButton jButton5 = null;

public MantProductos() {
  super();
  initialize();
 }

private void initialize() {
  this.setSize(476, 420);
  this.setContentPane(getJContentPane());
  this.setTitle(“Mantenimiento de Productos”);
  // CArgando el jcombobox
  String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
  String dsn = “jdbc:odbc:DSNJava”;
  String sql = “select Nombre from marcas order by 1 asc”;
  try {
  // cargo el driver
  Class.forName(driver);
  // creo objeto conexion
  Connection con = DriverManager.getConnection(dsn, ” “, ” “);
  // creo objeto sentencia
  Statement stm = con.createStatement();
  ResultSet rs = stm.executeQuery(sql);
  jComboBox.addItem(“Escoja”);
  while (rs.next() == true)
  jComboBox.addItem(rs.getString(1));

// cierren objetos
  stm.close();
  con.close();
  } catch (Exception e) {
  jTextArea.setText(e.getMessage());
  }
 }

private JPanel getJContentPane() {
  if (jContentPane == null) {
  jLabel10 = new JLabel();
  jLabel10.setBounds(new Rectangle(360, 206, 54, 16));
  jLabel10.setText(“STOCK”);
  jLabel9 = new JLabel();
  jLabel9.setBounds(new Rectangle(277, 208, 62, 14));
  jLabel9.setText(“PRECIO”);
  jLabel8 = new JLabel();
  jLabel8.setBounds(new Rectangle(186, 208, 67, 13));
  jLabel8.setText(“NOMBRE”);
  jLabel7 = new JLabel();
  jLabel7.setBounds(new Rectangle(91, 205, 53, 16));
  jLabel7.setText(“MARCA”);
  jLabel6 = new JLabel();
  jLabel6.setBounds(new Rectangle(17, 204, 63, 17));
  jLabel6.setText(“CODIGO”);
  jLabel5 = new JLabel();
  jLabel5.setBounds(new java.awt.Rectangle(15, 164, 49, 18));
  jLabel5.setText(“STOCK”);
  jLabel4 = new JLabel();
  jLabel4.setBounds(new java.awt.Rectangle(15, 137, 48, 14));
  jLabel4.setText(“PRECIO”);
  jLabel3 = new JLabel();
  jLabel3.setBounds(new java.awt.Rectangle(15, 105, 61, 15));
  jLabel3.setText(“NOMBRE”);
  jLabel2 = new JLabel();
  jLabel2.setBounds(new java.awt.Rectangle(15, 75, 50, 13));
  jLabel2.setText(“MARCA”);
  jLabel1 = new JLabel();
  jLabel1.setBounds(new java.awt.Rectangle(12, 47, 47, 14));
  jLabel1.setText(“CODIGO”);
  jLabel = new JLabel();
  jLabel.setBounds(new java.awt.Rectangle(91, 8, 191, 20));
  jLabel.setText(“MANTENIMIENTO DE PRODUCTOS”);
  jContentPane = new JPanel();
  jContentPane.setLayout(null);
  jContentPane.add(jLabel, null);
  jContentPane.add(jLabel1, null);
  jContentPane.add(jLabel2, null);
  jContentPane.add(jLabel3, null);
  jContentPane.add(jLabel4, null);
  jContentPane.add(jLabel5, null);
  jContentPane.add(getJTextField(), null);
  jContentPane.add(getJComboBox(), null);
  jContentPane.add(getJTextField1(), null);
  jContentPane.add(getJTextField2(), null);
  jContentPane.add(getJTextField3(), null);
  jContentPane.add(getJButton(), null);
  jContentPane.add(getJButton1(), null);
  jContentPane.add(getJButton2(), null);
  jContentPane.add(getJButton3(), null);
  jContentPane.add(getJButton4(), null);
  jContentPane.add(getJTextArea(), null);
  jContentPane.add(jLabel6, null);
  jContentPane.add(jLabel7, null);
  jContentPane.add(jLabel8, null);
  jContentPane.add(jLabel9, null);
  jContentPane.add(jLabel10, null);
  jContentPane.add(getJButton5(), null);
  }
  return jContentPane;
 }

private JTextField getJTextField() {
  if (jTextField == null) {
  jTextField = new JTextField();
  jTextField.setBounds(new java.awt.Rectangle(78, 46, 98, 17));
  }
  return jTextField;
 }

private JComboBox getJComboBox() {
  if (jComboBox == null) {
  jComboBox = new JComboBox();
  jComboBox.setBounds(new java.awt.Rectangle(77, 77, 103, 17));
  }
  return jComboBox;
 }

private JTextField getJTextField1() {
  if (jTextField1 == null) {
  jTextField1 = new JTextField();
  jTextField1.setBounds(new java.awt.Rectangle(81, 103, 100, 19));
  }
  return jTextField1;
 }

private JTextField getJTextField2() {
  if (jTextField2 == null) {
  jTextField2 = new JTextField();
  jTextField2.setBounds(new java.awt.Rectangle(81, 135, 98, 17));
  }
  return jTextField2;
 }

private JTextField getJTextField3() {
  if (jTextField3 == null) {
  jTextField3 = new JTextField();
  jTextField3.setBounds(new java.awt.Rectangle(79, 166, 100, 17));
  }
  return jTextField3;
 }

private JTextArea getJTextArea() {
  if (jTextArea == null) {
  jTextArea = new JTextArea();
  jTextArea.setBounds(new Rectangle(15, 225, 412, 156));
  }
  return jTextArea;
 }

private JButton getJButton() {
  if (jButton == null) {
  jButton = new JButton();
  jButton.setBounds(new java.awt.Rectangle(201, 45, 101, 18));
  jButton.setText(“NUEVO”);
  jButton.addActionListener(new java.awt.event.ActionListener() {
  public void actionPerformed(java.awt.event.ActionEvent e) {
  // System.out.println(“actionPerformed()”); // TODO
  // Auto-generated Event stub actionPerformed()
  jComboBox.setSelectedIndex(0);
  jTextField1.setText(“”);
  jTextField2.setText(“”);
  jTextField3.setText(“”);
  jTextArea.setText(“”);
  String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
  String dsn = “jdbc:odbc:DSNJava”;
  String sql = “SELECT count(IDProd)+1 FROM productos”;
  try {
  // cargo el driver
  Class.forName(driver);
  // creo objeto conexion
  Connection con = DriverManager.getConnection(dsn, ” “,
  ” “);
  // creo objeto sentencia
  Statement stm = con.createStatement();
  ResultSet rs = stm.executeQuery(sql);
  while (rs.next() == true)
  jTextField.setText(rs.getString(1));

// cierren objetos
  stm.close();
  con.close();
  } catch (Exception e5) {
  jTextArea.setText(e5.getMessage());
  }
  }
  });
  }
  return jButton;
 }

private JButton getJButton1() {
  if (jButton1 == null) {
  jButton1 = new JButton();
  jButton1.setBounds(new java.awt.Rectangle(200, 68, 103, 16));
  jButton1.setText(“ELIMINAR”);
  jButton1.addActionListener(new java.awt.event.ActionListener() {
  public void actionPerformed(java.awt.event.ActionEvent e) {
  // System.out.println(“actionPerformed()”); // TODO
  // Auto-generated Event stub actionPerformed()
  String cod = jTextField.getText();
  String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
  String dsn = “jdbc:odbc:DSNJava”;
  String sql = “delete from productos where IDProd =’” + cod
  + “‘”;
  try { // cargo el driver
  Class.forName(driver);
  // creo objeto conexion
  Connection con = DriverManager.getConnection(dsn, ” “,
  ” “);
  // creo objeto sentencia
  Statement stm = con.createStatement();
  int nfilas = stm.executeUpdate(sql);
  if (nfilas > 0)
  jTextArea.setText(“Se elimino Producto”);
  else
  jTextArea.setText(“No se elimino Producto”);
  // cierro objetos
  stm.close();
  con.close();
  } catch (Exception e2) {
  jTextArea.setText(e2.getMessage());
  }

}
  });
  }
  return jButton1;
 }

private JButton getJButton2() {
  if (jButton2 == null) {
  jButton2 = new JButton();
  jButton2.setBounds(new java.awt.Rectangle(200, 88, 103, 16));
  jButton2.setText(“VER TODOS”);
  jButton2.addActionListener(new java.awt.event.ActionListener() {
  public void actionPerformed(java.awt.event.ActionEvent e) {
  // System.out.println(“actionPerformed()”); // TODO
  // Auto-generated Event stub actionPerformed()
  String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
  String dsn = “jdbc:odbc:DSNJava”;
  String sql = “select * from productos order by 1 asc”;
  jTextArea.setText(“”);
  try { // cargo el driver
  Class.forName(driver);
  // creo objeto conexion
  Connection con = DriverManager.getConnection(dsn, ” “,
  ” “);
  // creo objeto sentencia
  Statement stm = con.createStatement();
  // creo objeto ResultSet para almacenar resultado de
  // consulta
  ResultSet rs = stm.executeQuery(sql);
  while (rs.next() == true)
  jTextArea.append(rs.getString(1) + “\t”
  + rs.getString(2) + “\t” + rs.getString(3)
  + “\t” + rs.getString(4) + “\t”
  + rs.getString(5) + “\n”);
  // cierro objetos
  stm.close();
  con.close();
  } catch (Exception e4) {
  jTextArea.setText(e4.getMessage());
  }

}
  });
  }
  return jButton2;
 }

private JButton getJButton3() {
  if (jButton3 == null) {
  jButton3 = new JButton();
  jButton3.setBounds(new Rectangle(200, 107, 103, 18));
  jButton3.setText(“GRABAR”);
  jButton3.addActionListener(new java.awt.event.ActionListener() {
  public void actionPerformed(java.awt.event.ActionEvent e) {
  // System.out.println(“actionPerformed()”); // TODO
  // Auto-generated Event stub actionPerformed()
  int cod = Integer.parseInt(jTextField.getText());
  // String mar = String.valueOf(jComboBox.getSelectedItem());
  int mar = jComboBox.getSelectedIndex();
  // String idmar = “select IDMarca from marcas where nombre
  // =’”+mar+”‘”;
  String nom = jTextField1.getText();
  double pre = Double.parseDouble(jTextField2.getText());
  int sto = Integer.parseInt(jTextField3.getText());
  String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
  String dsn = “jdbc:odbc:DSNJava”;
  // String idmar = “select IDMarca from marcas where nombre
  // =’”+mar+”‘”;
  // int idm=Integer.parseInt(idmar);
  String sql = “insert into productos values(‘” + cod + “‘,’”
  + mar + “‘,’” + nom + “‘,’” + pre + “‘,’” + sto
  + “‘)”;

try { // cargo el driver
  Class.forName(driver);
  // creo objeto conexion
  Connection con = DriverManager.getConnection(dsn, ” “,
  ” “);
  // creo objeto sentencia
  Statement stm = con.createStatement();
  int nfilas = stm.executeUpdate(sql);
  if (nfilas > 0)
  jTextArea.setText(“Se grabo Producto”);
  else
  jTextArea.setText(“No se grabo Producto”);
  // cierro objetos
  stm.close();
  con.close();
  } catch (Exception e1) {
  jTextArea.setText(e1.getMessage());
  }
  }
  });
  }
  return jButton3;
 }

private JButton getJButton4() {
  if (jButton4 == null) {
  jButton4 = new JButton();
  jButton4.setBounds(new java.awt.Rectangle(200, 129, 103, 17));
  jButton4.setText(“MODIFICAR”);
  jButton4.addActionListener(new java.awt.event.ActionListener() {
  public void actionPerformed(java.awt.event.ActionEvent e) {
  // System.out.println(“actionPerformed()”); // TODO
  // Auto-generated Event stub actionPerformed()

int cod = Integer.parseInt(jTextField.getText());
  int mar = jComboBox.getSelectedIndex();
  String nom = jTextField1.getText();
  double pre = Double.parseDouble(jTextField2.getText());
  int sto = Integer.parseInt(jTextField3.getText());
  String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;
  String dsn = “jdbc:odbc:DSNJava”;
  String sql = “update productos set IDMarca=’” + mar
  + “‘,NomProd=’” + nom + “‘,Precio=’” + pre
  + “‘,Stock=’” + sto + “‘ where IDProd=’” + cod
  + “‘”;

try { // cargo el driver
  Class.forName(driver);
  // creo objeto conexion
  Connection con = DriverManager.getConnection(dsn, ” “,
  ” “);
  // creo objeto sentencia
  Statement stm = con.createStatement();
  int nfilas = stm.executeUpdate(sql);
  if (nfilas > 0)
  jTextArea.setText(“Se modifico Producto”);
  else
  jTextArea.setText(“No se modifico Producto”);
  // cierro objetos
  stm.close();
  con.close();
  } catch (Exception e3) {
  jTextArea.setText(e3.getMessage());
  }

}
  });
  }
  return jButton4;
 }

private JButton getJButton5() {
  if (jButton5 == null) {
  jButton5 = new JButton();
  jButton5.setBounds(new Rectangle(201, 150, 102, 15));
  jButton5.setText(“SALIR”);
  jButton5.addActionListener(new java.awt.event.ActionListener() {
  public void actionPerformed(java.awt.event.ActionEvent e) {
  //System.out.println(“actionPerformed()”); // TODO Auto-generated Event stub actionPerformed()
  System.exit(0);
  }
  });
  }
  return jButton5;
 }
}

32 comentarios

  1. Mejor pon un link para descargar todo el proyecto..oe bitchon ta bien explicado ….

  2. HOLA OIE TENGO ALGUNAS DUDAS SOBRE EL CODIGO QUE TIENES AKI. LO K PSA SK AL COMPILARLO DICE PROCESO COMPLETADO.PERO YA AL EJECUTARLO NO SALE NADA. TIENE K ERROR EN EL MAIN O ALGO ASI. CREO K FAL TA UNA PARTE. M PODRIAS AYUDAR???

  3. esta excelente este ejemplo

  4. por favor enviame por el email a la cuenta jcyanez555@hotmail.com el proyecto gracias

  5. hola stiven porfavor me podrias enviar el proyecto completo con la base de datos esta interesante tu ejemplo de grabar,modificar,eliminar calin_cj@hotmail.com. justo estava buscando un ejemplo asi

  6. Genial el ejemplo,hacia falta ya alguno así.Yo estoy intentando hacer algo parecido pero introduciendo fechas y booleanos,aparte de int,jcombobox y string,me podrias ayudar.Cada vez que intoduzco los datos me sale “[Microsoft][Controlador ODBC Microsoft Access] No coinciden los tipos de datos en la expresión de criterios.” y no se como solucionarlo.
    Gracias de antemano.
    Me puedes responder en : migue.2@hotmail.com

  7. por favor enviarme por el email a la cuenta eduin636@yahoo.com

    se ve bueno el proyecto.

  8. Como hagopara guardar una imagen en sqlserver por java? please

  9. jajajajjake frescos estos ke kieren ke les pases el codigo.. pk no lo hacen ellos mismoss.. jajaja la jodidez ke implica.. mira nomas jijij saluditoss … chaaoo ^.^

  10. Porfa enviame al correo niba0715@hotmail.com el proyecto.
    Gracias

  11. Hola es un buen aporte pero quisiera la base de datos ya que me sale un error si puedes enviarlo a mi correo te lo agradezco mi correo es este joismego2000@yahoo.es

  12. hola chicos en este link tienen un proyecto que hice… como veran lineas arriba buscaba lo mismo que uds. y como ya lo tengo pos aqui lo cuelgo http://www.mediafire.com/?xmnijtkiciq
    la base de datos consta de dos tablas mascotas y razas espero les sirva ehhmmm el script de la bd esta en este otro link http://www.mediafire.com/?1djmmyy1n5z
    byebye
    Saludos

  13. Hola gracias por el ejemplo pero tengo algunas dudas me gustaria que me mandes una dire de correo para enviarte codigo a ver si me puedes ayudar

  14. Estaría mejor el ejemplo si hicieras por lo menos 2 clases, separando la logica de negocio de la presentación, y si lo hicieras a 3 capas estaría genial, no es por ser mala onda, pero así es difícil seguir tu código…

  15. Amigo, tambien me gustaria que me compartieras el codigo fuente y el script de la base, por favor envialo a mi correo csilva0725@gmail.com

  16. Amigos saben que lo he compilado en elcipse pero no sale nada, y ojo que inclui el metodo main para que corra pero no sale nada. alguien alguna idea?

  17. Hola Abin, te felicito por el diseño grafico de tu aplicacion, quisiera que porfavor me comentaras como hago para implementar los botones redondos y la tabla con ese efecto tan bueno.

    De antemano gracias. . .

  18. mi correo es samaca82@yahoo.es

  19. Podrian dar el package de este ejercicio para interactuar yo intento hacerlo pero me tira mil errores y quiero ver si corre bien el de el ejemplo.

    mi mail es criss.aquiles@gmail.com

    si alguien tiene algo similar favor mandar :)

  20. A pero q bola de huebones!!! los q piden q se les mande el “proyecto” a su correo con todo y BD, de q sirve q se los pasen si asi como asi lo entregan a sus profes,chinguenle un poco tansolo un poco en crear la BD sino pueden hacer eso no se lo merecen xq apuesto q en la escuela presumen del programa, ya conosco ese tipo d gente, aun si lo pidieran de otra forma no q “por favor enviarme por el email a la cuenta eduin636@yahoo.com se ve bueno el proyecto.” no no no asi o picadito y en la boca

  21. otra cosa dejen de andar poniendo su correo para q les manden los codios xq se utilizan para estarlos chingando jejeje los utilizan como cuentas para ingresar a paguinas ( . )( . ) o los contactan y les chingan su messenger jajaja

  22. Alguien me puede ayudar con este codigo, no me lo reconoce en netbeans o no sed cual es la libreria para este codigo..

    este codigo sale en el proyecto de cachorros que me gusto mucho

    import com.me.sql.Sql;
    import com.me.window.MsgBox;
    import org.jvnet.substance.SubstanceLookAndFeel;

  23. como podria ir en el main si lo quisiera visualizar seria algo asi

    public static void main(String args[]) {
    MantProductos mtp= new MantProductos();
    mtp.setVisible(true);

    }

  24. esta muy bueno el ejemplo por favor me puedes enviar a mi correo todo completo esplicado paso por paso gracias de antemano me ayudaste mucho pero cuando ejecuto me sale algunos errores que quiero corregir

  25. mi email el leoncar_l23@hotmail.com porfavor ayudame enserio lo necesito con suma uregncia gracias

  26. no hay mucha informacion sobre estos aspectos en internet solo tu enseñas con buenos ejemplos pero podrias mejorar un poco tus tutoriales

  27. me sale un error de pocos parametros se esperaba 5 y a veces sale se esperaba 4 y otras veces sale se esperaba 3 hasta el 1 y ya verifique la base de datos y nada como soluciono este problema que me tiene al borde de la locura un favor

  28. este programa sta bien para crear una fuente de dase de datos……………..pero falta la clase principal (main)…………….podrias enviarme a mi correo….lo necesito urgente……………………………………..gracias

  29. este programa sta bien para crear una fuente de dase de datos……………..pero falta la clase principal (main)…………….podrias enviarme a mi correo….lo necesito urgente ……..wnico4@hotmail.com……………………………………..gracias

  30. Este programa sta bien para crear una fuente de dase de datos……………..pero falta la clase principal (main)…………….podrias enviarme a mi correo….lo necesito urgente.
    wnico4@hotmail.com……………………….gracias

  31. Urgente necesito que me envies la clase principal de ste programa………………………HELP

  32. bueno nose si porfavor me puedes enviar el programa completo a mi mail: the_beast_machine@hotmail.com el asunto es de que hay muchos errores de sintaxis en el que muestras aca y bueno en cuanto a la bdd tienes razon hay que crearla no hay problem pero ayudame con lo que pido porfavor estare agradecido

    Luis

Escribe un comentario