Nuestra clase Persona.java que da de esta forma:
package contactos;
import java.sql.*;
/**
* @web http://jc-mouse.blogspot.com/
* @author mouse
*/
public class persona {
conectate con;
public persona (){
con = new conectate();
}
/*Añade un nuevo registro*/
public void NuevaPersona(String name, String ap, String am, String mail){
try {
PreparedStatement pstm = con.getConnection().prepareStatement("insert into " +
"persona(Nombre, appPaterno, appMaterno, mail) " +
" values(?,?,?,?)");
pstm.setString(1, name);
pstm.setString(2, ap);
pstm.setString(3, am);
pstm.setString(4, mail);
pstm.execute();
pstm.close();
}catch(SQLException e){
System.out.println(e);
}
}
/*obtenemos todos los datos de la tabla*/
public Object [][] getDatos(){
int x = 0;
//obtenemos la cantidad de registros existentes en la tabla
try{
PreparedStatement pstm = con.getConnection().prepareStatement("SELECT count(1) as total FROM persona ");
ResultSet res = pstm.executeQuery();
res.next();
x = res.getInt("total");
res.close();
}catch(SQLException e){
System.out.println(e);
}
Object[][] s = new String[x][2];
//realizamos la consulta sql y llenamos los datos en "Object"
try{
PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
" id, Nombre " +
" FROM persona" +
" ORDER BY id ");
ResultSet res = pstm.executeQuery();
int i = 0;
while(res.next()){
String estCodigo = res.getString("id");
String estNombre = res.getString("nombre");
s[i][0] = estCodigo;
s[i][1] = estNombre;
i++;
}
res.close();
}catch(SQLException e){
System.out.println(e);
}
return s;
}
}
el codigo del Main, debe quedar asi:
package contactos;
/**
* @web http://jc-mouse.blogspot.com/
* @author Mouse
*/
public class Main {
public static void main(String[] args) {
persona p = new persona();
Object [][] sc ;
sc = p.getDatos();
for(int i=0;i<sc.length ;i++){
System.out.println("> " + sc[i][0] + " - " + sc[i][1]);
}
p.con.desconectar();
}
}
Ejecuta el programa
4 comentarios:
felicitarte por tu pagina sin esta pagina no me aprenderia netbeans, bueno una consulta yo estoy trabajando con PostgreSQL y me funciona todo solo q si cambio la tabla aumentando un campo de tipo int no me ejecuta me sale el siguiente error:org.postgresql.util.PSQLException: ERROR: la columna «fono» es de tipo integer pero la expresión es de tipo character varying. Pienso q por el dato q introducimos como String bueno algun consejo para hacer jalar mi BD en PostgreSQL desde ya gracias
perdona mi ignorancia y si quiero mostrar todos los campos desde el id, nombre, apP, apM, amal, ysi tuviera mas como seria el Object [][]..??
ss el de antes vi que ese no era el problema no lo había captado bien,, lo que aora quiero saber es como mandarlos a un jtalbe y estos se muestren??
para mostrar mas campos de registro modificar Object[][] s = new String[x][?];
?= a cantidad de campos a mostrar.
y añadirlos en :
PreparedStatement pstm = con.getConnection().prepareStatement("SELECT " +
" id, Nombre " +
" FROM persona" +
" ORDER BY id ");
tambien en :
while(res.next()){
String estCodigo = res.getString("id");
String estNombre = res.getString("nombre");
s[i][0] = estCodigo;
s[i][1] = estNombre;
por ultimo en el main incrementar en:
for(int i=0;i " + sc[i][0] + " - " + sc[i][1]);
}
Publicar un comentario