PDA

Visualizza la versione completa : [JAVA] Vettore risultati query


damocle
08-10-2005, 01:12
java vettore risultati query

--------------------------------------------------------------------------------

Ho un programma che serve a fare un inventario.per fare la query al database per vedere cosa c'è nell'inventario uso funzioni java.però mi dà questo errore:



java.lang.NullPointerException
Db.Database.interrogazione(Database.java:160)
org.apache.jsp.Inventario.InventarioGenerale_jsp._ jspService(org.apache.jsp.Inventario.InventarioGen erale_jsp:73)
org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:322)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:291)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:241)
javax.servlet.http.HttpServlet.service(HttpServlet .java:802)

il file java è questo:



package Db;

import java.sql.*;
import java.util.Vector;


public Vector interrogazione(String query) {

Vector vet = eseguiQuery(query); !!!!!!!penso che l'errore sia in questa funzione!!!!!!!
totrisul = vet.size();
totpag = Math.round(totrisul/c);
if ((totrisul % c) > 0) {
totpag++;
}
return vet;
}

AIUTATEMI VI PREGO!!!!!GRAZIE IN ANTICIPO

Angelo1974
09-10-2005, 10:50
Chissà... magari con un po' + di codice ne avremmo capito qualcosa in +.
Cmq di sicuro è il metodo eseguiQuery(query); che o riturna null e quindi quando cerci di utilizzare il Vector ti da errore oppure nel metodo stesso c'è qualcosa ritorna null e va in errore il tutto.

Andrea1979
09-10-2005, 10:50
potevi almeno postare il codice del metodo eseguiQuery, se sospettavi che l'errore fosse lì.

Ti consiglio anche di leggere la Pillola di LeLeFT sulle connessioni a database in java.
Saluti.

damocle
09-10-2005, 13:14
Questa è eseguiQuery:



public Vector eseguiQuery(String query) {
Vector v = null;
String [] record; //[] = array
int colonne = 0;
try {
Statement stmt = connection.createStatement(); // Creo lo Statement per l'esecuzione della query
ResultSet rs = stmt.executeQuery(query); // Ottengo il ResultSet dell'esecuzione della query
v = new Vector();
ResultSetMetaData rsmd = rs.getMetaData();
colonne = rsmd.getColumnCount();

while(rs.next()) { // Creo il vettore risultato scorrendo tutto il ResultSet
record = new String[colonne];
for (int i=0; i<colonne; i++) record[i] = rs.getString(i+1);
v.add((String[]) record.clone() );
}
rs.close(); // Chiudo il ResultSet
stmt.close(); // Chiudo lo Statement
} catch (Exception e) { e.printStackTrace(); errore = e.getMessage(); }

return v;
}



grazie per il vostro interesse.spero mi aiutiate a risolvere il problema

Andrea1979
09-10-2005, 13:26
sei sicuro di poter effettuare un cast a Vettore di Stringhe? :oVVoVe: quando fai



for (int i=0; i<colonne; i++)
record[i] = rs.getString(i+1);

v.add((String[]) record.clone());


Anzi: edit: il tutto è poco chiaro!

damocle
10-10-2005, 00:47
vi spiego.sto facendo tirocinio all'università insieme a un mio amico.nel suo portatile funziona tutto e non dà nessun errore a me invece esce questo errore.non so proprio che fare.

damocle
10-10-2005, 00:48
quel pezzo di java lo abbiamo preso da una pillola da questo forum.

Loading