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.