[RESOLVIDO] Enviando dados a um arquivo

3 respostas
rafaelaalves
Oi, galera. Estou com um probleminha. Preciso gerar um relatório que traga para mim, os atrasos. Não sou muito boa com esses metodos de consulta. Começando do Dao:
private static final String SELECT_ATRASO =
                "SELECT NOME,DISCIPLINA FROM PROFESSOR WHERE STATUS= INDISPONIVEL";
Esse faz a consulta. Aí, vem o método que cuida disso (está apresentando erros!)
public String selectAtrasos() throws SQLException, ClassNotFoundException {
              String nome = null;
                String disciplina = null;
                Connection conn = null;
                PreparedStatement pstmt = null;
                ResultSet rs = null;
		try {
                        conn = getConnection();
			pstmt = super.prepareStatement( conn, SELECT_ATRASO );
			rs = pstmt.executeQuery();
			rs.setFetchSize( 1 );

			if( rs.next() ) {
				nome = rs.getString("NOME");
                                disciplina = rs.getString("DISCIPLINA");
			} else {
				throw new SQLException("");
			}
		} finally {
			release(conn, pstmt, rs);
		}
		return nome+disciplina;
	}

Após vem o Service...

public String selectAtrasos() throws ProfessorException {
                String Atraso = null;
		ProfessorDAO professorDAO = null;
		try {
			professorDAO = mysqlDAOFactory.getProfessorDAO();
			professorDAO.getConnection();
			Atraso = professorDAO.selectAtrasos();
		} catch (SQLException e) {
                    e.printStackTrace();
                    throw new ProfessorException ("",e);
		} catch (Exception e) {
			e.printStackTrace();
                        throw new ProfessorException("",e);
                        
		}
		return Atraso;
	}
e o local onde vou tratar isto..
Professor = ProfessorService.getInstance().selectAtrasos();

Depois imprimir a variavel,

public void enviaDados () throws FileNotFoundException{   
        
    File Teste = new File("C:/Documents and Settings/rafaelabrito/Desktop/teste.txt");
    PrintWriter saida = null;
      
            saida = new PrintWriter(Teste);
       
    saida.println(" Alunos: " + Aluno + " Professores: " + Professor+
            " Funcionarios: "+Funcionario);
    saida.close();
    dispose();
   
    }

Se alguém puder me dizer o que estou fazendo de errado! :/
Obrigado!!

3 Respostas

L

rafaelaalves,

Aparece algum erro no console???

Se sim, seria interessante postar o erro…fica mais facil identificar

Mas se o erro for referente ao SQL, revise o SQL. Se a coluna STATUS for do tipo para aceitar textos, talvez seria interessante colocar INDISPONIVEL entre aspas.
Apenas um primeiro chute…

rafaelaalves
Dez 19, 2011 2:57:36 PM biblioteca.gui.GerarRelatorio gerarActionPerformed
Grave: null
biblioteca.exceptions.ProfessorException: 
	at biblioteca.service.ProfessorService.selectAtrasos(ProfessorService.java:140)
	at biblioteca.gui.GerarRelatorio.gerarActionPerformed(GerarRelatorio.java:121)
	at biblioteca.gui.GerarRelatorio.access$100(GerarRelatorio.java:29)
	at biblioteca.gui.GerarRelatorio$2.actionPerformed(GerarRelatorio.java:69)
	at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
	at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
	at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
	at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
	at java.awt.Component.processMouseEvent(Component.java:6504)
	at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
	at java.awt.Component.processEvent(Component.java:6269)
	at java.awt.Container.processEvent(Container.java:2229)
	at java.awt.Component.dispatchEventImpl(Component.java:4860)
	at java.awt.Container.dispatchEventImpl(Container.java:2287)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
	at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
	at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
	at java.awt.Container.dispatchEventImpl(Container.java:2273)
	at java.awt.Window.dispatchEventImpl(Window.java:2713)
	at java.awt.Component.dispatchEvent(Component.java:4686)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
	at java.awt.EventQueue.access$000(EventQueue.java:101)
	at java.awt.EventQueue$3.run(EventQueue.java:666)
	at java.awt.EventQueue$3.run(EventQueue.java:664)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.awt.EventQueue$4.run(EventQueue.java:680)
	at java.awt.EventQueue$4.run(EventQueue.java:678)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Aparece esse.. o Essencial..

o professor 140 é essa parte :
} catch (SQLException e) {
                    throw new ProfessorException ("",e);
		} catch (Exception e) { // linha 140
                        throw new ProfessorException("",e);
                        
		}

a 121 é a do getInstace.. e Gerar Relatorio 29 é lá na declaração da classe a Gerar Relatorio 69 é no botão

rafaelaalves

Novamente isso, a maioria não irá retornar por que talvez não há banco rsrsrs. Vou fazer em casa.

Criado 19 de dezembro de 2011
Ultima resposta 19 de dez. de 2011
Respostas 3
Participantes 2