Hali
Egy kis segítség kéne hogy az alábbi miért dob NullPointerException -t
public void loadModifiers(String querry){
try {
rs = stmt.executeQuery(querry);
rs egy resultset ami private adattagként van declarálva az stmt Statement szintén private adattag a constructorban van inicializálva.
Amikor annek az osztálynak amiben ez a metódus szerepel, egy példányára meghívom ezt a függvényt egy webalkalmazás ServletContext listeenrében akkor a netbeans szerint itt NullPointerException keletkezik.
így hívom meg
valami.loadModifiers("select * from valami_tabla");
Ez miért dob NullPointerExceptiont?
Bármi ötletet szívesen fogadok.
Köszönöm
- 1307 megtekintés
Hozzászólások
A teljes stacktrace-szel könnyebb lenne, másrészt megnézhetnéd debuggerben is. Ennyiből én arra gyanakodnék, hogy a stmt null.
- A hozzászóláshoz be kell jelentkezni
Statement stmt = conn.createStatement ();
nem ad hibát ?
- A hozzászóláshoz be kell jelentkezni
Debugoltam egy kicsit és kiderült hogy nem is itt vana probléma , hanem hogy már a drivert sem tölti be valamiért holott egy másik projektben egy tesztosztály simán betölti.
Tehát itt dob egy ClassNotFoundException -t
Class.forName("com.jdbc.mysql.Driver").newInstance();
A mysql jdbc connectort hozzáadtama projekthez a libraryknél
NetBeans ideről van szó
- A hozzászóláshoz be kell jelentkezni
Oké r=1 vagyok
elírtam a drvier stringet
helyesen
Class.forName("com.mysql.jdbc.Driver").newInstance();
(lehet topikot törölni?)
- A hozzászóláshoz be kell jelentkezni
Nem kell, megbocsátunk :D
- A hozzászóláshoz be kell jelentkezni
Ezzel ovatosan kell banni, elvben ez tudna dobni valami exceptiont, legrosszabb esetben hulyeseg jon vissza a Class.forName() hivasra, ezt mindig erdemes csekkolni. Most nincs kedvem javadocot keresni, de nezd meg, a Class.forName eleg okos.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni