AYUDA SOBRE CODIGO

Iniciado por SebastianJava, 15 Noviembre 2013, 03:44 AM

0 Miembros y 1 Visitante están viendo este tema.

SebastianJava

 :-(

Estimados primero que todo muchas gracias, ahora bien, tengo un problema cuando trato de cargar un JTABLE CON LOS DATOS de una Base de datos  en MYSQL, se supone que con el boton consultar deberia mostrar los resultados, pero mi tabla aparece en blanco.


les pido su ayuda...

ESTA ES LA CLASE ing_clie


Código (=java) [Seleccionar]
package formularios;


import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.table.DefaultTableModel;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JButton;

import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.sql.*;
import javax.swing.JTable;

public class ing_cli extends JFrame {

DefaultTableModel model;
private JPanel contentPane;
private JTextField t_nom;
private JTextField t_ape;
private JTextField t_ciu;
private JTextField t_tel;

private JTable t_datos;


// DECLARAMOS Y DAMOS ACCIONES

public ing_cli() {

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 563, 533);
contentPane = new JPanel();
setContentPane(contentPane);
contentPane.setLayout(null);

JLabel lblNombre = new JLabel("Nombre");
lblNombre.setBounds(42, 46, 66, 14);
contentPane.add(lblNombre);

JLabel lblIngresoClientes = new JLabel("Ingreso Clientes");
lblIngresoClientes.setBounds(227, 11, 116, 14);
contentPane.add(lblIngresoClientes);

JLabel lblApellido = new JLabel("Apellido");
lblApellido.setBounds(42, 89, 66, 14);
contentPane.add(lblApellido);

JLabel lblCiudad = new JLabel("Ciudad");
lblCiudad.setBounds(42, 129, 66, 14);
contentPane.add(lblCiudad);

JLabel lblTelefono = new JLabel("Telefono");
lblTelefono.setBounds(42, 169, 66, 14);
contentPane.add(lblTelefono);

t_nom = new JTextField();
t_nom.setBounds(157, 43, 294, 20);
contentPane.add(t_nom);
t_nom.setColumns(10);

t_ape = new JTextField();
t_ape.setBounds(157, 86, 294, 20);
contentPane.add(t_ape);
t_ape.setColumns(10);

t_ciu = new JTextField();
t_ciu.setBounds(157, 126, 294, 20);
contentPane.add(t_ciu);
t_ciu.setColumns(10);

t_tel = new JTextField();
t_tel.setBounds(157, 166, 294, 20);
contentPane.add(t_tel);
t_tel.setColumns(10);

// BOTON NUEVO
JButton btnNuevo = new JButton("Nuevo");
btnNuevo.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
limpiar();
}
});
btnNuevo.setBounds(29, 211, 89, 23);
contentPane.add(btnNuevo);
// TERMINO BOTON NUEVO

// BOTON GRABAR
JButton btnGrabar = new JButton("Grabar");
btnGrabar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try{ conectar cc = new conectar ();
Connection cn = cc.conexion();
String nom, ape, ciu, tel;
String sql="";
nom = t_nom.getText();
ape = t_ape.getText();
ciu = t_ciu.getText();
tel = t_tel.getText();
sql="INSERT INTO clientes (nom_cli, ape_cli, ciu_cli, tel_cli) VALUES (?,?,?,?)";

PreparedStatement pst = cn.prepareStatement (sql);
pst.setString(1,nom);
pst.setString(2,ape);
pst.setString(3,ciu);
pst.setString(4,tel);
int n = pst.executeUpdate();
if (n>0){
JOptionPane.showMessageDialog(null, "Registrado Grabado con exito");
limpiar();
}

} catch (SQLException e1) {
JOptionPane.showMessageDialog(null, "ERROR");
}
}
});
btnGrabar.setBounds(128, 211, 89, 23);
contentPane.add(btnGrabar);
/// TERMINO BOTON GRABAR

// INICIO BOTON CONSULTAR
JButton btnConsultar = new JButton("Consultar");
btnConsultar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cargar();
}
});
btnConsultar.setBounds(227, 211, 89, 23);
contentPane.add(btnConsultar);
// TERMINO DE BOTON CONSULTAR

// INICIO BOTON MODIFICAR

JButton btnModificar = new JButton("Modificar");
btnModificar.setBounds(326, 211, 89, 23);
contentPane.add(btnModificar);
// TERMINO BOTON MODIFICAR

// INICIO BOTON SALIR
JButton btnSalir = new JButton("Salir");
btnSalir.setBounds(425, 211, 89, 23);
contentPane.add(btnSalir);
// TERMINO BOTON SALIR

// CREACION DE TABLA
t_datos = new JTable();
t_datos.setBounds(42, 247, 459, 224);
contentPane.add(t_datos);
// TERMINO TABLA

}

// INICIO METODO LIMPIAR
void limpiar(){
t_nom.setText("");
t_ape.setText("");
t_ciu.setText("");
t_tel.setText("");
}

// FIN METODO LIMPIAR

// INICIO METODO CARGAR DATOS BD A TABLA
void cargar(){
try{
String [] titulos={"Codigo", "Nombre", "Apellido", "Ciudad", "Telefono"};
String [] registros=new String[5];

String sql= "SELECT * FROM clientes";

model = new DefaultTableModel(null, titulos);

conectar cc=new conectar();
Connection cn =cc.conexion();
Statement st = cn.createStatement ();
ResultSet rs = st.executeQuery(sql);

while(rs.next()){
registros[0]=rs.getString("cod_cli");
registros[1]=rs.getString("nom_cli");
registros[2]=rs.getString("ape_cli");
registros[3]=rs.getString("ciu_cli");
registros[4]=rs.getString("tel_cli");
model.addRow(registros);


}
} catch (SQLException e1) {
JOptionPane.showMessageDialog(null, "ERROR");
}
}

// FIN METODO CARGAR

// DEJAMOS VISIBLE EL FRAME
public static void main(String[] args) {
ing_cli frame = new ing_cli();
frame.setVisible(true);
}

}[ / code]




ESTA ES LA CLASE conectar:

Código (=java) [Seleccionar]
package formularios;

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

public class conectar {
Connection conect = null;
  public Connection conexion()
   {
     try {
           
          //Cargamos el Driver MySQL
          Class.forName("org.gjt.mm.mysql.Driver");
          conect = DriverManager.getConnection("jdbc:mysql://localhost:3306/bd","root","");
          JOptionPane.showMessageDialog(null, "estás conectado");
         
       } catch (Exception e) {
           JOptionPane.showMessageDialog(null,"Error "+e);
       }
       return conect;
   
}}[code==java]

NECESITAN EL SQL??
muchas gracias y disculpen las molestias.

[/code]

Mitsu

Imprime el arreglo registros para ver si la consulta ha devuelto los valores esperados. Acostúmbrate a hacer esto, a hacer pequeñas pruebas hasta dar con el origen del problema.