elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22
131  Programación / Java / Re: No encuentro error, intentando borrar de un resultset en: 21 Febrero 2012, 17:58 pm
jperezmonge, si no me equivoco, eso me borra sólo la fila del JTable, ¿no? Todo lo que estoy haciendo va contra una base de datos.
132  Programación / Java / Re: No encuentro error, intentando borrar de un resultset en: 21 Febrero 2012, 17:28 pm
Sigue sin funcionar.
En este fragmento:
Código
  1. System.out.println("entro en el try");
  2. for(int i=0; i<=fila; i++){
  3.             System.out.println("Empleado: '"+rsE.getString("APELLIDO")+"'. Vuelta número: "+i);
  4.  
imprime la línea de "entro en el try", pero no la otra. Es decir, salta la excepción al intentar rsE.getString("APELLIDO"), supongo. Revisaré mi forma de controlar los resultSet a ver...

Dejo aquí el código completo, por si alguien tiene mucho tiempo libre XD
http://www.mediafire.com/?xnn2pfkdkxfz15e
Versión en .txt: http://www.mediafire.com/?4vtdket2nuer36w
133  Programación / Java / Re: No encuentro error, intentando borrar de un resultset en: 21 Febrero 2012, 16:51 pm
Hola Bulld0z3r, gracias por contestar.

rsE se carga con el constructor del JFrame donde estoy trabajando mediante el siguiente método:
Código
  1. static void cargaEmpleados(){
  2.        try{
  3.            int id_dep = rsD.getInt("dept_no");
  4.            seleccionaEmple(id_dep);
  5.            rsE.first();
  6.        }catch(Exception e){System.out.println("Error capturando depto para la tabla --> "+e);}
  7.  
  8.    }
  9.  

A ese método lo llamo, como he dicho, en el constructor del JFrame así como en todos los eventos de los botones primero, último, anterior y siguiente. Así me aseguro que rsE tenga siempre datos y además me posiciono en el primero de ellos.

En cuanto a la condición del for, antes la tenía así pero el método getSelectedRow() devuelve enteros a partir del 0 (éste incluido) si hay algo seleccionado, es decir, si cambio la condición y está seleccionada la primera fila no entro en el bucle, ¿me equivoco?

Saludos.
134  Programación / Java / [RESUELTO]No encuentro error, intentando borrar de un resultset en: 21 Febrero 2012, 16:02 pm
Hola a todos, ¿qué tal?

Bueno, llevo un par de días como un loco y no doy con el fallo en mi programa... os cuento un poco de qué va la historia. Tengo una BBDD de empleados y departamentos con una relación 1:N donde cada empleado tiene un solo departamento y los departamentos de 0 a N empleados... Pues bien, estoy programando en Java un aplicación sencilla que permita añadir, eliminar y modificar datos de cualquier empleado/departamento.

Lo tengo todo acabado, excepto un JFrame en el que arriba tengo un JTextField con el nombre de un departamento y debajo de éste un JTable en el que se muestran los datos de todos los empleados de ese departamento. Hay también botones para pasar al siguiente, anterior, primer y último departamento, con sus eventos correspondientes que vacían y rellenan de nuevo la tabla con los empleados correspondientes al departamento activo.

Y por último tengo un botón que me permitiría borrar de la BBDD el empleado que esté seleccionado. Este es el código:

Código
  1. private void jtblEmpleMouseClicked(java.awt.event.MouseEvent evt) {
  2.        System.out.println("Entro en evento");
  3.        int fila=jtblEmple.getSelectedRow();
  4.        System.out.println("Fila seleccionada: "+fila);
  5.        if(fila >= 0){
  6.            System.out.println("entro en if");
  7.            try{
  8.                System.out.println("entro en el try");
  9.                for(int i=0; i<fila+1; i++){
  10.                    System.out.println("Empleado: '"+rsE.getString("APELLIDO")+"'. Vuelta número: "+i);
  11.                    rsE.next();                    
  12.                }
  13.                System.out.println("Voy a borrar");
  14.                //rsE.deleteRow(); línea comentada para no borrar registros en pruebas y quedarme con 0 empleados... xD
  15.                //(aún así, esta línea me da unas veces la excepción de 'No data found' y otras la de 'estado del cursor no válido').
  16.                System.out.println("He borrado.");
  17.            }catch(Exception e){JOptionPane.showConfirmDialog(null, e, "Error de borrado", JOptionPane.PLAIN_MESSAGE);}
  18.            finally{
  19.                System.out.println("llego al finally");
  20.                limpiaTabla();
  21.                rellenaTabla();
  22.                System.out.println("salgo del finally");
  23.            }
  24.        }
  25.        else
  26.            JOptionPane.showConfirmDialog(null, "Seleccione un departamento para eliminarlo.", "Error de borrado", JOptionPane.PLAIN_MESSAGE);
  27.    }
  28.  

Donde rsE es un ResultSet con todos los empleados del departamento activo y rsD es otro ResultSet con todos los departamentos. Todos esos println sobran, los he usado para ver qué hace la aplicación y esta me devuelve lo siguiente:

Cita de: NetBeans
run:
Entro en evento
Fila seleccionada: 1
entro en if
entro en el try
// aquí me salta la Excepción e
llego al finally
salgo del finally
BUILD SUCCESSFUL (total time: 10 seconds)

Este código funcionaba perfectamente para borrar departamentos... Y así llevo un par de días. Hoy he pedido ayuda al profesor y ha estado una hora  mirando y tocando sin sacar absolutamente nada, lo cual me hace pensar que seguramente será algún fallo bastante estúpido...

Gracias a todos.
135  Programación / Java / Re: No consigo limpiar un JTable... en: 19 Febrero 2012, 18:45 pm
SOLUCIÓN:
Código
  1. void limpiaTabla(){
  2.        try{
  3.            temp = (DefaultTableModel) jtablaDepart.getModel();
  4.            int a =temp.getRowCount()-1;
  5.            for(int i=0; i<a; i++)
  6.                temp.removeRow(0); //aquí estaba el error, antes pasaba la i como parametro.... soy un bacín  XD
  7.        }catch(Exception e){
  8.            System.out.println(e);
  9.        }
  10.    }
136  Programación / Java / [RESUELTO] No consigo limpiar un JTable... [RESUELTO] en: 19 Febrero 2012, 18:31 pm
Hola a todos de nuevo.
Bueno, el título lo dice todo: no soy capaz de limpiar los datos que he cargado en un JTable a través de una consulta a BBDD. Este es mi método para vaciar la dichosa tablita:
Código
  1. //parte de variables
  2.    static ResultSet rs;
  3.    static Statement st;
  4.    static Connection conn;
  5.    DefaultTableModel temp;
Código
  1. //parte de métodos
  2. void limpiaTabla(){
  3.        try{
  4.            temp = (DefaultTableModel) jtablaDepart.getModel();
  5.            int a =temp.getRowCount()-1;
  6.            for(int i=0; i<a; i++)
  7.                temp.removeRow(i);
  8.        }catch(Exception e){
  9.            System.out.println(e);
  10.        }
  11.    }

Java me devuelve la siguiente excepción: java.lang.ArrayIndexOutOfBoundsException: 2 >= 2

La tabla tiene 3 columnas, y (en este momento) 4 filas. Cuando llamo a limpiaTabla, me borra el primer y tercer elemento de la tabla y salta esa excepción ...
137  Programación / Java / Re: ¿No se encuentra origen de datos? en: 19 Febrero 2012, 13:41 pm
Al final era lo que comentaba antes, que al compilar en una máquina de 64 bits había que bajar el JDK a uno de 32 ya que no existen ODBC's de 64.

Lo que tú dices creo que es otra cosa, los driver hay que pasárselos siempre si no me equivoco... no sé, acabo de empezar a trastear con BBDD .
138  Programación / Java / Re: ¿Cómo creo un .exe con NetBeans? en: 16 Febrero 2012, 22:49 pm
es local, pero estaba metida en el directorio src, como me habías dicho por eso supongo que habrá que crear el odbc para poder acceder a ella. imagino que habrá alguna forma de decirle a la aplicación q sea ella misma la q cree el odbc para distribuir la aplicacion... pero bueno a saber como xD
139  Programación / Java / Re: ¿Cómo creo un .exe con NetBeans? en: 16 Febrero 2012, 22:36 pm
Sí, algo muy parecido es como lo tengo hecho, así:
Código
  1. Toolkit kit = Toolkit.getDefaultToolkit();
  2. Image imgIcon = kit.createImage("src/img/icono.png");
  3. setIconImage(imgIcon);
  4.  

Una cosa, cuando me voy a otra máquina, ejecuto el jar y la bbdd no funciona de nuevo, imagino q eso es porque debo crear el odbc en la otra máquina tambien?
140  Programación / Java / Re: ¿Cómo creo un .exe con NetBeans? en: 16 Febrero 2012, 21:53 pm
Cierto, he probado y me funciona bien. Gracias.
No paras de contestarme cosas de forma más coherente q mi profesor... creo q te debo parte de mi nota jaja

EDITO:  la bbdd sí que funciona perfectamente, pero el icono de la aplicación no, me la cambia por la tacita de java. Eso es una gilipollez como un piano, realmente el dibujo me da igual, pero no llego a entender el porqué (eso si me preocupa más).
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines