Newsgroup: it.comp.java
Titolo: niubbo aiuto su errore NullPointerException

Ciao a tutti
Mi sto convertendo a Java (da VB) e non nego le difficoltà a digerire il
linguaggio OOP ma sono sicuro dei vantaggi, premesso ciò
ho questo tipo di problema voglio leggere una tabella da MySQL via JDBC e ci
sono riuscitomettendo tutto nella stessa classe.
Ora ho separato le classi in 3 parti e messe in un package che si chiama DB:
La prima crea il collegamento (collMySQL), la seconda esegue la select
(querySelect) e l'ultima (main) ritorna il risultato.
Le singole compilazioni sono corrette ma se lancio il prg mi viene ritornato
l'rrore :
   java.lang.NullPointerException  at
DB.testCollegamento.main(testCollegamento.java:19) Exception in thread
"main"
Di seguito il codice delle classi:
=================== classe collMySQL =========================
/*
 * collMySQL.java
 *
 * Created on 5 aprile 2004, 23.34
 */
package DB;
import java.sql.*;
/**
 *
 * @author  alberto
 */
public class collMySQL {
    static String driv = "com.mysql.jdbc.Driver";
    private String server = null;
    private String porta = null;
    private String dbase = null;
    private String user = null;
    private String pass = null;
    private String url = null;
    private Connection conn = null;
    /** Creates a new instance of collMySQL */
    public collMySQL(String se, String po, String db, String us, String pa)
{
        setServer(se);
        setPorta(po);
        setDbase(db);
        setUser(us);
        setPassword(pa);
    }
    public void setServer(String se){
        server = se;
    }
    public void setPorta(String po){
        porta  = po;
    }
    public void setDbase(String db){
        dbase  = db;
    }
    public void setUser(String us){
        user  = us;
    }
    public void setPassword(String pa){
        pass  = pa;
    }
    public Connection getConn(){
        url = "jdbc:mysql://" + server + ":" + porta + "/" + dbase +
"?user=" + user + "&password=" + pass;
        try {
            Class.forName(driv);
            conn = DriverManager.getConnection(url);
        } catch (SQLException ex) {
                    ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
                    ex.printStackTrace();
         }
        return conn;
    }
}
=========================================================
=================== classe querySelect =========================
/*
 * queryMysql.java
 *
 * Created on 5 aprile 2004, 19.01
 */
package DB;
import java.sql.*;
/**
 *
 * @author  alberto
 */
public class querySelect {
    private    String tabella = null;
    private    String campi = null;
    private    String filtro = null;
    private    String query = null;
    private    Statement stmt = null;
    public     ResultSet res = null;
    private    collMySQL my;
    private     Connection conn;
    /** Creates a new instance of queryMysql */
    public querySelect(String t, String c, String f) {
        setTabella(t);
        setCampi(c);
        setFiltro(f);
    }
   public void setTabella(String t) {
       tabella = t;
   }
   public void setCampi(String c) {
       campi = c;
   }
   public void setFiltro(String f) {
       filtro = f;
   }
    public ResultSet getResSet() {
        query = "SELECT " + campi + " FROM " + tabella + " " + filtro;
        my = new collMySQL("localhost","3306","prua","","");
        try {
           conn = my.getConn();
           stmt = conn.createStatement();
           res = stmt.executeQuery(query);
        }catch (SQLException e) {
            e.printStackTrace();
        }
        return res;
   }
}
=========================================================
=================== classe testCollegamento =====================
/*
 * testCollegamento.java
 *
 * Created on 5 aprile 2004, 13.55
 */
package DB;
import java.sql.*;
/**
 *
 * @author  alberto
 */
public class testCollegamento {
    public static void main(String[] args) {
    querySelect qry;
    try {
        qry = new querySelect("piatti", "*", "");
     while (qry.res.next()) {     <== QUESTA E' LA RIGA 19 DOVE VIENE
RILEVATO L'ERRORE
            System.out.println("Numero = " + qry.res.getString("nr"));
            System.out.println("Codice = " + qry.res.getString("cod"));
            System.out.println("Descr. = " + qry.res.getString("descp"));
            System.out.println("Prezzo = " + qry.res.getString("prezzo"));
        }
    }catch (SQLException ex) {
        System.err.println("Attenzione errore: " + ex.getMessage());
    }
    }
}
=========================================================
Ringrazio tutti per la pazienza
Saluti Alberto

 
Infatti Java lo fa già da solo.
Quantomeno si tratta di istruzioni inutili (che in alcune circostanze, come
ho evinto grazie a Dario, possono dare effetti inaspettati ed
indesiderati).
Spero di esserti stata utile.
Claudia
-- 
"sul viale del tramonto il telefonino non prende"

 Infatti Java lo fa gią da solo.
