Questa qui è la procedura che non funziona, che da problemi in esecuzione...vedrete una variabile Risul1 non presente perchè globale...
public void VisualizzaVolo() {
String NumeroVolo = NumVoloVT.getText();
if (NumeroVolo.equals("")) new errCampiVuoti(this,false).show();
int riga = 0;
String[] nomiColonne = {"Numero Volo", "Arrivo", "Ora Partenza", "Giorno", "Mese"};
Object[][] dati;
String url = "jdbc:mysql://localhost/Aereoporto?user=root";
String query2 = "SELECT * FROM Volo WHERE NumVolo= '"+ NumeroVolo + "'";
try {
Class.forName("com.mysql.jdbc.Driver").newInstance ();
} catch(Exception e){System.out.println("Errore Driver");}
try {
Connection con = DriverManager.getConnection(url,"root","");
Statement stm = con.createStatement();
ResultSet rs = stm.executeQuery(query2);
ResultSetMetaData rsmd = rs.getMetaData();
int numColonne = rsmd.getColumnCount();
rs.last();
int numRighe = rs.getRow();
rs.first();
Risul1 = new String[numRighe];
boolean prossimo = rs.first();
while(prossimo) {
Risul1[riga] = new String(rs.getString(1) + " - " + rs.getString(2) + " " + rs.getString(3) + " - " + rs.getString(4)+ " - " + rs.getString(5));
riga++;
prossimo = rs.next();
}
rs.close();
stm.close();
con.close();
} catch(SQLException e) {System.out.println("Errore Database");}
String[] datiTemp = Risul1;
int numColonne1 = nomiColonne.length;
int numRighe1 = datiTemp.length / numColonne1;
int i;
dati = new Object[numRighe1][numColonne1];
for (i=0; i<datiTemp.length; i++) {
dati[i/numColonne1][i%numColonne1] = datiTemp[i];
}
TabVis = new javax.swing.JTable(dati, nomiColonne);
for (int z=0;z<nomiColonne.length;z++) {
javax.swing.table.TableColumn Colonna = null;
Colonna = TabVis.getColumnModel().getColumn(z);
if (z==0) Colonna.setPreferredWidth(50);
else if (z==3) Colonna.setPreferredWidth(100);
else if (z==4) Colonna.setPreferredWidth(150);
else if (z==6) Colonna.setPreferredWidth(30);
else if (z==7) Colonna.setPreferredWidth(80);
else if (z==8) Colonna.setPreferredWidth(130);
}
TabVis.setDragEnabled(false);
ScrollVis = new javax.swing.JScrollPane(TabVis);
getContentPane().add(ScrollVis, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 30, 900, 250));
pack();
}
Questo è l'errore in esecuzione quando eseguo graficamente la procedura dal form che la realizza....
Errore Database
java.lang.NullPointerException
at aeroporto.Aeroportoserver.VisualizzaVolo(Aeroporto server.java:729)
at aeroporto.Aeroportoserver.visual(Aeroportoserver.j ava:354)
at aeroporto.Aeroportoserver.access$300(Aeroportoserv er.java:20)
at aeroporto.Aeroportoserver$4.actionPerformed(Aeropo rtoserver.java:250)
at java.awt.Button.processActionEvent(Button.java:382 )
at java.awt.Button.processEvent(Button.java:350)
at java.awt.Component.dispatchEventImpl(Component.jav a:3615)
at java.awt.Component.dispatchEvent(Component.java:34 77)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 456)
at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:100)