Ciao a tutti, il mio programma dovrebbe leggere un file excel, effettuare una query su di esso e scriverne il risultato in un file di testo.
Se lo eseguo non mi scrive i dati sul file di testo ed in output mi fornisce solo la prima riga valida della query e l'errore sql:
codice:
PIPPOnull123456
Errore Estrazione dati da Excel.. java.sql.SQLException: No data found
Io volevo estrarre tutte le righe con Numero non nullo..
Il file Excel nel Foglio1 ha 3 colonne: Nome Email e Numero.
Vi riporto l'intero file di seguito:
codice:
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.io.*;
public class LeggereExcel3 {
public static void main( String [] args ) {
Connection c = null;
Statement stmnt = null;
try {
File f=new File("prova.txt");
FileOutputStream fos=new FileOutputStream(f);
PrintStream ps=new PrintStream(fos);
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
c = DriverManager.getConnection( "jdbc:odbc:prova_excel", "", "" );
stmnt = c.createStatement();
String query = "SELECT [Nome],[Email],[Numero] FROM [Foglio1$] where Numero IS NOT NULL;";
ResultSet rs = stmnt.executeQuery( query );
ps.println("DATI ESTRATTI:\n");
while( rs.next() ){
System.out.println(rs.getString( "Nome")+rs.getString( "Email")+rs.getString( "Numero"));
//name,surname,description,sex,birthdate,email,options,intprefix,opprefix,number,valid,checkedon
ps.println(","+rs.getString("Nome")+","+","+","+","+rs.getString( "Email" )+","+","+","+rs.getString( "Numero")+","+",");
}
}
catch( Exception e ){
System.out.println("Errore Estrazione dati da Excel.. "+e);
}
finally {
try {
stmnt.close();
c.close();
}
catch( Exception e ){
System.err.println( e );
}
}
}
}
Sapete dirmi dove sbaglio?
Grazie in anticipo,
Mauro.