synthroid taking instructions

Inicio > Programacion, Video Tutoriales > Una simple aplicación de datos con Java en Netbeans 6

Una simple aplicación de datos con Java en Netbeans 6

Martes, 22 de noviembre de 2016 Dejar un comentario Ir a comentarios

Como hacer una simple aplicación de datos con Java en Netbeans – un excelente tutorial como hacer un mantenedor desde la creación de la base de datos en SQL y el desarrollo de la aplicación con Netbeans.


COMO HACER UN PEQUEÑO MANTENEDOR DE REGISTOS SIMPLE EN JAVA NETBEANS 6.0

Paso 1

Creamos una tabla denominada Alumnos

Paso 2

Abrimos el IDE de Netbeans 6.0 en mi caso, pero también pueden trabajar con las versiones anteriores, comenzamos a diseñar nuestra interface con todos los campos que necesitemos para nuestra tabla Alumnos, utilice controles JLabel, JTextField, JTextArea, JFomattedTextField, JTable, JScrollPanel.

Paso 3

Luego procedemos a crear una Clase denominada Alumno, como se observa aquí en el siguiente código.

package biblioteca;

import java.sql.*;
import javax.swing.*;

public class Alumno {
  private int codigo;
  private String nombres;
  private String apellidos;
  private String direccion;
  private String telefono;
  private int coddistrito;
  private String sexo;
  private boolean habilitado;
  private String _distrito;

  public Alumno()
  {
      codigo=0;
      nombres="";
      apellidos="";
      direccion="";
      telefono="";
      coddistrito=0;
      sexo="";
      habilitado=false;
  }

  public Alumno(String nombre, String apellido, String _direccion,String phono,int codditri, String sex, boolean habilit )
  {
      codigo=0;
      nombres=nombre;
      apellidos=apellido;
      direccion=_direccion;
      telefono=phono;
      coddistrito=codditri;
      sexo=sex;
      habilitado=habilit;
  }

  public int buscarCodigo()
  {
          JOptionPane mensaje=new JOptionPane();
          Connection ocn=null;
          Statement consulta1=null;
          ResultSet lector=null;
          int resp=-1;
         try
          {
           Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
          }
          catch(Exception err)
          {
              mensaje.showMessageDialog(null, "El controlador no cargo correctamente", "Sistema de Biblioteca", JOptionPane.ERROR_MESSAGE);
          }
  
       try
         {
             ocn=DriverManager.getConnection("jdbc:sqlserver://casa; databasename=Biblioteca", "sa", "cp246725");
             consulta1=ocn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

             lector=consulta1.executeQuery("select coddistrito from distritos where distrito='" + _distrito + "'");

             lector.next();

             if(lector==null)
             {
                resp=-1;
             }
             else
             {
                 resp=Integer.parseInt(lector.getString(1));
             }

             lector.close();
             ocn.close();
         }
         catch(Exception err)
         {
            mensaje.showMessageDialog(null, "Error al tratar de buscar el codigo", "Sistema Biblioteca", JOptionPane.ERROR_MESSAGE);
         }

          return resp;
  }

  public void setDistrito(String distrito)
  {
      _distrito=distrito;
  }

  public String getDistrito()
  {
      return _distrito;
  }

  public String getApellidos() {
      return apellidos;
  }

  public void setApellidos(String apellidos) {
      this.apellidos = apellidos;
  }

  public int getCoddistrito() {
      return coddistrito;
  }

  public void setCoddistrito(int coddistrito) {
      this.coddistrito = coddistrito;
  }

  public int getCodigo() {
      return codigo;
  }

  public void setCodigo(int codigo) {
      this.codigo = codigo;
  }

  public String getDireccion() {
      return direccion;
  }

  public void setDireccion(String direccion) {
      this.direccion = direccion;
  }

  public boolean isHabilitado() {
      return habilitado;
  }

  public void setHabilitado(boolean habilitado) {
      this.habilitado = habilitado;
  }

  public String getNombres() {
      return nombres;
  }

  public void setNombres(String nombres) {
      this.nombres = nombres;
  }

  public String getSexo() {
      return sexo;
  }

  public void setSexo(String sexo) {
      this.sexo = sexo;
  }

  public String getTelefono() {
      return telefono;
  }

  public void setTelefono(String telefono) {
      this.telefono = telefono;
  }

}

Paso 4

Una vez diseñada nuestra interface implementamos los métodos: limpiar(), insertarRegistro(), actualizarRegistro(), eliminaRegistro(), cargarData() la cual va a servir para el refrescado de los datos, el código debe de estar como se muestra.

package biblioteca;

import java.sql.*;
import javax.swing.*;
import javax.swing.table.*;
import java.util.*;
import java.lang.*;

public class frmMantenedorAlumno extends javax.swing.JFrame {
   Object[][] filas=null;
   String cod=null;

public frmMantenedorAlumno() {
      initComponents();
  }

private void limpiar()
  {
      this.jtxtnombres.setText("");
      this.jtxtdireccion.setText("");
      this.jtxtapellidos.setText("");
      this.jftxttelfono.setText("");
      this.jcmbdistrito.setSelectedIndex(0);
      this.jcmbsexo.setSelectedIndex(0);
      this.jchbhabilitado.setSelected(false);
  }

  private void eliminarRegistro(int codigo)
  {
      Connection ocn=null;
  JOptionPane mensaje=new JOptionPane();
  Statement consulta=null;

  try
  {
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  }

  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema de Biblioteca", JOptionPane.ERROR_MESSAGE);
  }

  try
  {
      ocn=DriverManager.getConnection("jdbc:sqlserver://casa; databasename=Biblioteca", "sa", "cp246725");
      consulta=ocn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
       consulta.executeUpdate("delete from alumnos where codusuario=" + codigo);
       mensaje.showMessageDialog(this, "El alumno se elimino de la Base de Datos", "Sistema Biblioteca",JOptionPane.INFORMATION_MESSAGE);
       ocn.close();
  }
  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema Biblioteca", JOptionPane.ERROR_MESSAGE);
  }

  }

private void actualizarRegistro(Alumno objeto, int codigo)
{
  Connection ocn=null;
  JOptionPane mensaje=new JOptionPane();
  Statement consulta=null;

  try
  {
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  }
  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema de Biblioteca", JOptionPane.ERROR_MESSAGE);
  }

  try
  {
      ocn=DriverManager.getConnection("jdbc:sqlserver://casa; databasename=Biblioteca", "sa", "cp246725");
      consulta=ocn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
       consulta.executeUpdate("update alumnos set nombres='" + objeto.getNombres() + "',apellidos='" + objeto.getApellidos() + "',direccion='" + objeto.getDireccion() + "',phono='" +
       objeto.getTelefono() + "',coddistrito=" + objeto.buscarCodigo() + ",sexo='" + objeto.getSexo() +
               "',habilitado=" + (objeto.isHabilitado()?1:0) + " where codusuario=" + codigo);
       mensaje.showMessageDialog(this, "El alumno " + objeto.getApellidos().trim().toUpperCase() + ", "  + objeto.getNombres().trim().toUpperCase() + " se actualizo correctamente", "Sistema Biblioteca",JOptionPane.INFORMATION_MESSAGE);
       ocn.close();
  }

  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema Biblioteca", JOptionPane.ERROR_MESSAGE);
  }

}

private void insertarRegistro(Alumno objeto)
{
  Connection ocn=null;
  JOptionPane mensaje=new JOptionPane();
  Statement consulta=null;
  try
  {
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  }
  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema de Biblioteca", JOptionPane.ERROR_MESSAGE);
  }

  try
  {
      ocn=DriverManager.getConnection("jdbc:sqlserver://casa; databasename=Biblioteca", "sa", "cp246725");
      consulta=ocn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
       consulta.executeUpdate("insert into alumnos(nombres,apellidos,direccion,phono,coddistrito,sexo,habilitado) " +
               "values('" + objeto.getNombres() + "','" + objeto.getApellidos() + "','" + objeto.getDireccion() +
               "','" + objeto.getTelefono() + "'," + objeto.buscarCodigo() + ",'" + objeto.getSexo() + "'," + objeto.isHabilitado()?1:0) + ")");
       mensaje.showMessageDialog(this, "El alumno " + objeto.getApellidos().trim().toUpperCase() + ", "  + objeto.getNombres().trim().toUpperCase() + " se registro correctamente", "Sistema Biblioteca",JOptionPane.INFORMATION_MESSAGE);

  }

  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema Biblioteca", JOptionPane.ERROR_MESSAGE);
  }
}

private void cargarData()
{
   JOptionPane mensaje=new JOptionPane();
  Connection ocn=null;
  Statement consulta1=null;
   Statement consulta2=null;
    ResultSet lector=null;
    ResultSet cantfilas=null;

  try
  {
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  }
  catch(Exception err)
  {
      mensaje.showMessageDialog(this, "El controlador no cargo correctamente", "Sistema de Biblioteca", JOptionPane.ERROR_MESSAGE);
  }

   try
   {
      ocn=DriverManager.getConnection("jdbc:sqlserver://casa; databasename=Biblioteca", "sa", "cp246725");
      consulta2=ocn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
      consulta1=ocn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
      lector=null;
      lector=consulta2.executeQuery("select codusuario, nombres, apellidos, direccion, phono, d.distrito, " +
              "case when sexo='F' then 'FEMENINO' else 'MASCULINO' end as sexo, habilitado " +
              "from dbo.Alumnos a inner join distritos d on a.coddistrito=d.coddistrito");
       cantfilas=consulta1.executeQuery("select count(*) from alumnos");
        cantfilas.next();
        Object[] columnas={"Codigos","Nombres","Apellidos","Dirección","Teléfono","Distrito","Sexo","Habilitado"};
        filas=new Object[cantfilas.getInt(1)+1][8];
      int c=0;
      int i=0;
      while(lector.next())
      {
              filas[i][0]="" + lector.getInt(1);
              filas[i][1]="" + lector.getString(2);
              filas[i][2]="" + lector.getString(3);
              filas[i][3]="" + lector.getString(4);
              filas[i][4]="" + lector.getString(5);
              filas[i][5]="" + lector.getString(6);
              filas[i][6]="" + lector.getString(7);
              filas[i][7]="" + lector.getBoolean(8);
          i++;
      }
      DefaultTableModel mydata=new DefaultTableModel(filas,columnas);
      this.jTable1.setModel(mydata);
      this.jTable1.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
      this.jtxtdireccion.setLineWrap(true);
      lector.close();
      ocn.close();
   }
  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema Biblioteca", JOptionPane.ERROR_MESSAGE);
  }
}

private void formWindowOpened(java.awt.event.WindowEvent evt) {                   
// TODO add your handling code here:
 JOptionPane mensaje=new JOptionPane();
  Connection ocn=null;
  Statement consulta=null;
     ResultSet lector=null;

  try
  {
       Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  }
  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema de Biblioteca", JOptionPane.ERROR_MESSAGE);
  }

  try
  {
      ocn=DriverManager.getConnection("jdbc:sqlserver://casa; databasename=Biblioteca", "sa", "cp246725");
      consulta=ocn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
      lector=consulta.executeQuery("select distrito from distritos order by distrito");
      while(lector.next())
      {
      this.jcmbdistrito.addItem(lector.getString(1));
      }
      this.jcmbsexo.addItem("MASCULINO");
      this.jcmbsexo.addItem("FEMENINO");
      this.cargarData();
      lector.close();
      ocn.close();
  }
  catch(Exception err)
  {
      mensaje.showMessageDialog(this, err.getMessage(), "Sistema Biblioteca", JOptionPane.ERROR_MESSAGE);
  }
}                  

private void jbtnmodificarMouseClicked(java.awt.event.MouseEvent evt) {                            
// TODO add your handling code here:
  cod=filas[this.jTable1.getSelectedRow()][0].toString();
  this.jtxtnombres.setText(filas[this.jTable1.getSelectedRow()][1].toString());
  this.jtxtapellidos.setText(filas[this.jTable1.getSelectedRow()][2].toString());
  this.jtxtdireccion.setText(filas[this.jTable1.getSelectedRow()][3].toString());
  this.jftxttelfono.setText(filas[this.jTable1.getSelectedRow()][4].toString());
  this.jcmbdistrito.setSelectedItem(filas[this.jTable1.getSelectedRow()][5].toString());
  this.jcmbsexo.setSelectedItem(filas[this.jTable1.getSelectedRow()][6].toString());
  this.jchbhabilitado.setSelected(Boolean.parseBoolean(filas[this.jTable1.getSelectedRow()][7].toString()));
}                           

private void jbtnagregarMouseClicked(java.awt.event.MouseEvent evt) {                          
// TODO add your handling code here:
  Alumno objeto=new Alumno();
  objeto.setNombres(this.jtxtnombres.getText());
  objeto.setApellidos(this.jtxtapellidos.getText());
  objeto.setDireccion(this.jtxtdireccion.getText());
  objeto.setDistrito(this.jcmbdistrito.getSelectedItem().toString());
  if(this.jcmbsexo.getSelectedItem().toString().compareTo("MASCULINO")==0)
  {
      objeto.setSexo("M");
  }
  else
  {
      objeto.setSexo("F");
  }
  objeto.setTelefono(this.jftxttelfono.getText());
  objeto.setHabilitado(this.jchbhabilitado.isSelected());
  this.insertarRegistro(objeto);
  this.limpiar();
  this.cargarData();
}                         

private void jbtnguardarMouseClicked(java.awt.event.MouseEvent evt) {                          
// TODO add your handling code here:
   Alumno objeto=new Alumno();
  objeto.setNombres(this.jtxtnombres.getText());
  objeto.setApellidos(this.jtxtapellidos.getText());
  objeto.setDireccion(this.jtxtdireccion.getText());
  objeto.setDistrito(this.jcmbdistrito.getSelectedItem().toString());
  if(this.jcmbsexo.getSelectedItem().toString().compareTo("MASCULINO")==0)
  {
     objeto.setSexo("M");
  }
  else
  {
      objeto.setSexo("F");
  }
  objeto.setTelefono(this.jftxttelfono.getText());
  objeto.setHabilitado(this.jchbhabilitado.isSelected());
  this.actualizarRegistro(objeto, Integer.parseInt(cod));
  this.limpiar();
  this.cargarData();
}                         

private void jbtnsalirMouseClicked(java.awt.event.MouseEvent evt) {                        
// TODO add your handling code here:
  System.exit(0);
}                       

private void jbnteliminarMouseClicked(java.awt.event.MouseEvent evt) {                           
// TODO add your handling code here:
  this.eliminarRegistro(Integer.parseInt(cod));
  this.limpiar();
  this.cargarData();
}
}

Paso 5

De todo el código utilizado en la aplicación, existen clases que nos permiten accesar a datos, ha esto se le llama conectividad con JDBC, a
continuación describo las clases que existen, de la cuales eh utilizado algunas.

Nota Importante

Existe un driver el cual nos permite accesar al motor de base de datos de SQL server 2000, 2005 y 2008. El cual tienes que bajarte y agregarlas a las librerías de tu proyecto, agregar el componente Jar “sqljdbc4.jar”, ya que este está diseñado para trabajar con SQL 2005, estoy trabajando como poder utilizar procedimientos almacenado con la clase CallableStatement para una próxima entrega.

Descárgate el componente Jar de esta dirección: Click Aqui


Blogs similares

    Comparte y diviertete:
    • Print
    • Digg
    • StumbleUpon
    • del.icio.us
    • Facebook
    • Yahoo! Buzz
    • Twitter
    • Google Bookmarks
    • BarraPunto
    • Bitacoras.com
    • BlinkList
    • Blogosphere
    • Live
    • Meneame
    • MSN Reporter
    • MySpace
    • RSS
    • Suggest to Techmeme via Twitter
    • Technorati
    • LinkedIn
    • email
    • FriendFeed
    • PDF
    • Reddit
    • Wikio IT
    • Add to favorites
    • blogmarks
    • Nikon

      Genial el post. Me gustaría saber como poner una imagen a cada alumno. de manera que al introducir los datos de manera interactiva haya esa opción.

    • Marcelo

      todo ese codigo para crear registros en una tabla de alumnos ????

    • carlos

      ME GUSTA MUY BUENO PERO ,ME PUEDES ENVIAR TU PROYECTO CON TU BASE DE DATOS PORFA Y DEMAS RELACIONADOS K TENGAS PORFA TE LO AGRADECERE MUCHO MI CORREO jelmex123451@hotmail.com

    • Durandgomez_126

      buena el video , porque no subes el Backup de la base datos Biblioteca  ……seria de mucha ayuda para completar la aplicacion..porfa……….sino enviame a mi correo durandgomez_126@hotmail.com gracias…..

    • Mu Darck

      muy bueno aunque podria estar la estructura de la base de datos de sql =)

    • Snc Delrapes

      notable¡¡¡¡¡¡ no sabes del apuro que me sacaste¡¡¡¡

    • Pingback: Bitacoras.com()

    Top Footer
    Scarpe Tods primavera estate 2017: Foto Collezione Streethogan outlet anche per lestate e molta attenzione alla cura deipeuterey outlet online dettagli pi minimali, senza altri fronzoli. Lopeuterey outlet online spirito Tods per la linea scarpe donna peuterey outlet online primavera estate 2017 ha un mood adatto peuterey outlet online Sandali bassi, mocassini e tacchi comodipeuterey outlet online con un fil rouge preciso: la tomaia woolrich outlet online incrociata sul collo del piede. Massima woolrich outlet online comodit, piede abbracciato dal pellame woolrich outlet online di alta qualit e colori che spaziano woolrich outlet online dal cuoio al verde acido, senza hogan outlet online dimenticare nero e bianco. hogan outlet online Il marchio di Della Valle ci sorprende.SCARPE TODS DONNA PRIMAVERA ESTATE 2017 Per la mezza stagione primaverile,hogan outlet online ecco le loafers Tods! Comode scarpe flathogan outlet online dallallure bon ton ma sempre urban style,hogan outlet online con quegli accenni jungle legati canada goose pas cher Le scarpe del catalogo Tods 2017 varianocanada goose pas cher dai modelli total white in pelle verniciata,canada goose pas cher al pi discreto nude in suede, senzadoudoune moncler pas cher dimenticare i tocchi fashion del blu doudoune moncler pas cher zaffiro e del silver. Tods propone anche ledoudoune moncler pas cher sneakers stringate, ancora un richiamo aldoudoune moncler pas cher Presentata in occasione della Paris Fashiondoudoune moncler pas cher Week, la nuova collezione Christian Diordoudoune moncler pas cher primavera estate 2017 ci incanta con linee woolrich sito ufficiale pulite e rigorose che plasmano un guardarobawoolrich sito ufficiale ai limiti della femminilit con lobiettivo woolrich sito ufficiale di dimostrare che anche un capo storicamente woolrich sito ufficiale maschile pu plasmare a valorizzare alla perfezione una silhouette delicata. Una collezione moda donna diverse dalle altre. woolrich sito ufficiale Una linea contemporanea che non tradisce la filosofia della maison. Dior sulle passerelle ci mostra una femminilit estremante eterogenea che guarda al futurowoolrich sito ufficiale Presentata nella capitale italiana della moda in occasione di Milano Fashion Week, la collezione primavera estate 2017 di Max Mara ispirata a Lina Bo Bardi, architetto e designer di fama internazionale.