14. december 2003 - 10:23Der er
9 kommentarer og 1 løsning
NullPointerExeption - hjælp
Jeg får en NullPointerExeption når jeg fyrer denne metode af. Jeg har skrevet en kommentar ind efter den den linie de fremkalder den. Er der nogen der kan gennemskue det, for jeg kan ikke?
public Emne getEmne(String emne) { Emne mitEmne = new Emne(); Vector v = new Vector(); try { stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT * FROM emne WHERE emnetitel = '"+emne+"'"); rs.next(); int id = rs.getInt("id"); mitEmne.setId(id); mitEmne.setEmne(rs.getString("emnetitel")); mitEmne.setTekst(rs.getString("tekst")); mitEmne.setAfsender(rs.getString("afsender")); mitEmne.setDato(rs.getString("dato")); //Samler og sætter modtagerne af emnet udfra emne.id stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT modtager FROM emne_modtager WHERE emne ="+id); while(rs.next()){ v.addElement(rs.getString("modtager")); } mitEmne.setModtagere(v);
//Samler alle indlæg til emnet udfra emne.id stmt = conn.createStatement(); rs = stmt.executeQuery("SELECT indlæg FROM emne_indlæg WHERE emne = "+emne+" ORDER BY indlæg"); while(rs.next()){ int mitId = rs.getInt("indlæg"); System.out.println("nr:"+mitId); stmt = conn.createStatement(); rs2 = stmt.executeQuery("SELECT afsender, dato, tekst FROM indlæg WHERE id = "+mitId); rs2.next(); System.out.println("gik lige"); String i_afsender = rs2.getString("afsender"); String i_dato = rs2.getString("dato"); String i_tekst = rs2.getString("tekst"); Indlæg a = new Indlæg(i_afsender, i_dato, i_tekst); System.out.println(a.getAfsender()); mitEmne.tilføjIndlægTilEmne(i_afsender,i_dato,i_tekst);//Det er denne linie som fremkalder NullPointerExeption
} } catch (SQLException e) { System.out.println("Emnet kunne ikke instantieres"); }
Du har 2 typer, new Indlæg(); og new Indlæg(i_afsender, i_dato, i_tekst);
public void tilføjIndlægTilEmne(String _afsender, String _dato, String _tekst) { Du laver en ny Indlæg() har uden parameter - // Indlæg a = new Indlæg(); burde virke a.setAfsender(_afsender); a.setDato(_dato); a.setTekst(_tekst); indlægTilEmne.addElement(a); }
Ja jeg har to typer af Indlæg-konstruktører. Men jeg er ikke sikker på jeg forstår hvad du mener. Vil du have mig til at benytte den metode som du har rettet til - med den kender jeg jo ikke til 'a' som jeg skal bruge at sætte variablernes værdier.
Indlæg a = new Indlæg(); burde virke a.setAfsender(_afsender); a.setDato(_dato); a.setTekst(_tekst); // I teorien burde det virke hertil indlægTilEmne.addElement(a);
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.