🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #2484

Re: Java. java.lang.NullPointerException

#2484
From: JuanCarlitro
Date: Wed, 11 Jan 2006 19:07
86 lines
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-mail
References: <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