La Web del Programador: Comunidad de Programadores
 
    Pregunta:  63534 - ERROR AL INSERTAR DATO MYSQL
Autor:  Angel G Rios Perez
Hola:

Tengo mi arraylist para ingresar un dato ya jala y me manda que ha sido insertado pero al ver la base de datos no se hizo el cambio, en la consola de NetBeans sale esto:

24/03/2010 05:50:49 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Acceso ilegal: esta instancia de aplicación web ya ha sido parada. Could not load java.net.BindException. La eventual traza de pila que sigue ha sido motivada por un error lanzado con motivos de depuración así como para intentar terminar el hilo que motivó el acceso ilegal y no tiene impacto funcional.
java.lang.IllegalStateException
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1246)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1206)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at com.mysql.jdbc.SQLError.createLinkFailureMessageBasedOnHeuristics(SQLError.java:1211)
at com.mysql.jdbc.exceptions.jdbc4.CommunicationsException.<init>(CommunicationsException.java:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:3134)
at com.mysql.jdbc.MysqlIO.quit(MysqlIO.java:1616)
at com.mysql.jdbc.ConnectionImpl.realClose(ConnectionImpl.java:4223)
at com.mysql.jdbc.ConnectionImpl.cleanup(ConnectionImpl.java:1257)
at com.mysql.jdbc.ConnectionImpl.finalize(ConnectionImpl.java:2663)
at java.lang.ref.Finalizer.invokeFinalizeMethod(Native Method)
at java.lang.ref.Finalizer.runFinalizer(Finalizer.java:83)
at java.lang.ref.Finalizer.access$100(Finalizer.java:14)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:160)

Alguien me puede ayudar????

Gracias

  Respuesta:  Angel G Rios
Gracias por contestar te pego el codigo del metodo para insertar

import Negocios.SegRegistro;
import beanes.BeanEnero;
import beanes.BeanRegistro;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.ArrayList;

public class RegistroDAO {

Connection con;
public RegistroDAO(Connection con){
this.con = con;
}

public void actRegistro (String segene, String act)throws SQLException {

ArrayList<BeanEnero> insertar = new ArrayList<BeanEnero>();

insertar.add(new BeanEnero(segene, act));


String qupdate = "update actividad_atl set segene=? where act=? ";
con.setAutoCommit(false);
PreparedStatement st = con.prepareStatement(qupdate);
for(BeanEnero ins : insertar){

st.setString(1, ins.getSegene());
st.setString(2, ins.getAct());
st.executeUpdate();
System.out.println("Insertando....");
}
con.commit();
con.setAutoCommit(true);
st.close();
con.close();

}

}

Tengo un jsp del cual viene el dato segene pero este dato lo saco de un for por lo cual la variable se repite n veces segun las actividades que se hayan capturado anteriormente, al hacer este metodo me marca esta insertado pero en mysql no hay nada!!!

Gracias por la ayuda pues ya llevo unas semanas y no puedo con este programa

Estamos en contacto

  Respuesta:  Douglas Oviche
Que tal hermano, te queria preguntar unas cosas para ver si puedo ayudarte.
Entonces, segun he entendido tu tratas de insertar un valor dentro un java.util.ArrayList y recibes en cambio una Exception que describe un IllegalStateException; bueno, al parecer estas tratando de insertar un valor dentro la collection; pero me gustaria ver el statement de codigo que contiene esta ejecucion.

Si puedes, la pegas aqui mismo; pero recuerdate, que tal vez estas tratando de insertar un valor como por ejemplo: myArrayList.add(1, miValor) , pero por desgracia puede ser que ya hayas ocupado ese índice y te muestra ese error.
Mi hermano, si las cosas no son como yo lo he imaginado, pego el codigo aqui en este forum.

Saludos

Douglas