Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/12/2011, 18:12
illeillness
 
Fecha de Ingreso: diciembre-2011
Mensajes: 1
Antigüedad: 12 años, 4 meses
Puntos: 0
Exclamación Botón consulta para base de datos

Quería pedir de su ayuda para lograr que este programa me funcione bien...
Este trata de colocar el numero de carnet del estudiante y al dar click en el botón consulta colocar cada uno de los datos en los espacios correspondientes en cada JTextField del JFrame.

Pero al darle al botón consultar el action listener no me funciona y no hace ninguna función y me tira la excepción nullPointerException o que la clase no es abstracta... y de ninguna forma logro que me coloque los datos con todo lo que he intentado, voy a colocar el código a ver que soluciones me pueden dar... cualquier sugerencia es bienvenida...
muchas gracias...


import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JOptionPane;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

import java.awt.GridLayout;
import java.awt.Container;
import javax.swing.JOptionPane;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;


public class claseEstudiantes extends JFrame implements ActionListener{

private JLabel carnet;
private JLabel nombre;
private JLabel direccion;
private JLabel correo;
private JLabel nacionalidad;

private JTextField JTEXTFIELD_CARNET;
private JTextField JTEXTFIELD_NOMBRE;
private JTextField JTEXTFIELD_DIRECCION;
private JTextField JTEXTFIELD_CORREO;
private JTextField JTEXTFIELD_NACIONALIDAD;

private JButton JBUTTON_CONSULTA;

private Container contenedor;
private GridLayout cuadricula1;

// conexion a base de datos
Connection conexion = null;//Variable para establecer la conexion
Statement Objeto;//Variable para ejecutar las diferentes consultas
ResultSet Registro;//Variable para guardar los datos que devuelven las consultas

public void Conectar() {
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
//estudiantes es el nombre del origen de datos.
conexion = DriverManager.getConnection("jdbc:odbc: estudiantes", "", "");
Objeto = conexion.createStatement();
} catch (SQLException ex) {
System.out.println(ex);
} catch (ClassNotFoundException ex) {
System.out.println(ex);
}
}

public claseEstudiantes(){ //constructor

super ("Consulta Estudiantes");
cuadricula1 = new GridLayout (6, 2, 6, 6);
contenedor = getContentPane();
setLayout(cuadricula1);

//carnet
carnet = new JLabel ("Carnet: ");
add (carnet);

JTEXTFIELD_CARNET = new JTextField (5);
add(JTEXTFIELD_CARNET);
//nombre
nombre = new JLabel ("Nombre: ");
add (nombre);

JTEXTFIELD_NOMBRE = new JTextField (20);
add(JTEXTFIELD_NOMBRE);
// direccion
direccion = new JLabel ("Dirección: ");
add (direccion);

JTEXTFIELD_DIRECCION = new JTextField (15);
add(JTEXTFIELD_DIRECCION);
// correo
correo = new JLabel ("Correo: ");
add (correo);

JTEXTFIELD_CORREO = new JTextField (15);
add(JTEXTFIELD_CORREO);
//nacionalidad
nacionalidad = new JLabel ("Nacionalidad: ");
add (nacionalidad);

JTEXTFIELD_NACIONALIDAD = new JTextField (15);
add(JTEXTFIELD_NACIONALIDAD);

// boton
JBUTTON_CONSULTA = new JButton ("Consultar");
JBUTTON_CONSULTA.setBounds(100, 100, 40, 50);
add(JBUTTON_CONSULTA);

}// fin constructor


//Metodo para buscar numero_carnet
public ResultSet Buscar(int numero_carnet) {
try {

Registro = Objeto.executeQuery("SELECT * from TA_Estudiante WHERE numero_carnet =" + numero_carnet + "");
} catch (SQLException ex) {
Logger.getLogger(claseEstudiantes.class.getName()) .log(Level.SEVERE, null, ex);
}
return Registro;
}


public void JBUTTON_CONSULTAactionPerformed(ActionEvent evento){
try {
String numero_carnet;
// si el campo esta vacio
if (JTEXTFIELD_CARNET.getText().equals(" ")) {
//msj de entrada para ingresar el carnet del estudiante a buscar
numero_carnet = JOptionPane.showInputDialog(rootPane, "Digite el Carnet del Estudiante a buscar",
JOptionPane.QUESTION_MESSAGE);
} else {// si no
numero_carnet = JTEXTFIELD_CARNET.getText();
}

// busca el estudiante con el carnet ingresado
Registro = Buscar(Integer.parseInt(numero_carnet));
try {
try {
// pone los datos en el TextField q le corresponde
JTEXTFIELD_CARNET.setText(Registro.getString("nume ro_carnet"));
JTEXTFIELD_NOMBRE.setText(Registro.getString("nomb re"));
JTEXTFIELD_DIRECCION.setText(Registro.getString("d ireccion"));
JTEXTFIELD_CORREO.setText(Registro.getString("corr eoElectronico"));
JTEXTFIELD_NACIONALIDAD.setText(Registro.getString ("nacionalidad"));

//si no existe registro
} catch (NullPointerException ec) {
JOptionPane.showMessageDialog(null, "No Existe!!");
}
} catch (SQLException ex) {
Logger.getLogger(claseEstudiantes.class.getName()) .log(Level.SEVERE, null, ex);
}
} catch (Exception e) {
System.out.println(e);
}
}// fin action performed


public static void main(String[] args) {
claseEstudiantes ClaseEstudiantes = new claseEstudiantes();
ClaseEstudiantes.setDefaultCloseOperation(JFrame.E XIT_ON_CLOSE);
ClaseEstudiantes.setSize(300,200);
ClaseEstudiantes.setVisible(true);
ClaseEstudiantes.setResizable(false);

} // fin main

}//fin claseEstidiantes