Article View: chile.comp.programacion
Article #2484Re: Java. java.lang.NullPointerException
From: JuanCarlitro
Date: Wed, 11 Jan 2006 19:07
Date: Wed, 11 Jan 2006 19:07
86 lines
5175 bytes
5175 bytes
Eduardo Quiroz wrote:
> Hola a todos
>
> Soy algo nuevo en Java y estoy modificando un código de un jsp, pero se
> me cae en una instrucción específica y no entiendo el porqué.
> Detallo:
> Aqui un extracto del código:
>
>
> String Ram_Codigo =
> ObjCursos.getRecordSet().getString("RAM_CODIGO");
> System.out.println("Ram_Codigo"+Ram_Codigo); //Aqui
> devuelve la sigla de un curso, lo cual está OK.
> ObjCursoHorario.Clear(); //(1)
> ObjCursoHorario.setRAM_CODIGO(Ram_Codigo);
> ObjCursoHorario.Abrir_Coleccion(); // LINEA QUE ABRE
> LA COLECCION CursoHorario, que es un select de todas las tuplas de una
> tabla X con el parámetro Ram_Codigo en el Where
> if (ObjCursoHorario.isEstado()) // Comprobando
> apertura de coleccion CursoHorario
> System.out.println("CursoHorario abierto
> satisfactoriamente"); //Esta línea se muestra en el
> log, por lo tanto se abre bien
> else
> System.out.println("No
> abrio CursoHorario. INFO="+ObjCursoHorario.getInfo());
>
> if (ObjCursos.isEstado()) // Comprobando
> apertura de coleccion CursoHorario
> System.out.println("Cursos
> activado"); //Esta línea se muestra en el log de sistema, por lo tanto,
> entra aqui.
> else
> System.out.println("No
> abrio Cursos. INFO="+ObjCursos.getInfo());
> System.out.println("PRO_RUT
> desde ObjCursos "+ObjCursos.getRecordSet().getInt("PRO_RUT")); ***
>
>
> *** : en esta línea es donde se cae.
> El error que dá es java.lang.NullPointerException.
> Sin embargo, la línea y la clase están OK, puesto que si pongo esa
> línea antes de (1), funciona perfectamente. Antes de lo mostrado acá
> abro la conexión para ese objeto, con ObjCursos.AbrirColeccion(), de
> manera análoga a como se hace con ObjCursoHorario. Como el código por si
> sólo no explica mucho, orientaré la consulta sobre el porqué dicha línea
> (*) no funciona si la ubico después de abrir la conexión a otro objeto,
> en este caso ObjCursoHorario. De hecho, probé esa línea en casi todos
> los lugares y sólo no funciona tras esas líneas(1). Si la ubico antes,
> entonces si funciona. Lógicamente si requieren de algún otro dato, favor
> no duden en pedirlo. He googleado bastante y leído muchos manuales y
> tutoriales, puesto que soy nuevo en Java, por lo que si es muy básica la
> consulta, solicito me dispensen. De todas maneras sigo googleando.
> Gracias de antemano.
> Saludos!!!!
un ejemplo de buenas prácticas de programación jsp.
La última línea que aparece intenta rescatar el valor PRO_RUT, que es
el que da error.
seguramente el resultset que consultas tuvo un cambio de estado con la
instrucción ObjCursoHorario.Abrir_Coleccion() esta linea tiene
actividad contra la base de datos, si están compartiendo statement y
son rescatados los valores del resultset y liberado (es un cursor),
seguramente al momento de hacer clear cierras el statement y el
resultset y dejas disponible el statemente para efectuar otra
sentencia, en este caso Abrir_Coleccion. Revisa el código del metodo
clear, y si Abrir_Coleccion no usa un statement identico al otro
objeto.
Me enredé o no?
Tendría que poseer mayores detalles para un diagnostico más detallado
, si quieres enviame al correo más detalles.
Para evitar este tipo de problemas habitualmente se usan objetos de
persistencia y/o DAO para manipular la data sin contención. Se
recomienda para web el Model View Controller. y tener desglosado el
problema View | middleware (negocio) | Database.
Saludos,
Technical Details
Message-ID:
<1137006449.127499.265380@g49g2000cwa.googlegroups.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!g49g2000cwa.googlegroups.com!not-for-mailReferences:
<dq1s7q$jlo$1@news.nivel5.cl>Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,1a07691c02cfd08d X-Google-Attributes: gid1593cb,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!postnews.google.com!g49g2000cwa.googlegroups.com!not-for-mail From: "JuanCarlitro" <forhekset@gmail.com> Newsgroups: chile.comp.programacion Subject: Re: Java. java.lang.NullPointerException Date: 11 Jan 2006 11:07:29 -0800 Organization: http://groups.google.com Lines: 87 Message-ID: <1137006449.127499.265380@g49g2000cwa.googlegroups.com> References: <dq1s7q$jlo$1@news.nivel5.cl> NNTP-Posting-Host: 200.14.107.2 Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Trace: posting.google.com 1137006453 13819 127.0.0.1 (11 Jan 2006 19:07:33 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Wed, 11 Jan 2006 19:07:33 +0000 (UTC) In-Reply-To: <dq1s7q$jlo$1@news.nivel5.cl> User-Agent: G2/0.2 X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5,gzip(gfe),gzip(gfe) X-HTTP-Via: 1.1 2KISASCL02 Complaints-To: groups-abuse@google.com Injection-Info: g49g2000cwa.googlegroups.com; posting-host=200.14.107.2; posting-account=aBqmmQ0AAAB4xGSncQsZ4pLjaCoFy1Ch