Valeu Betão
Fiz o que vc indicou. A principio td OK, na compilação o erro não
mais é apresentado. Porém não entendi como fazer um metodo na classe
Conexao para retornar a conexão com o banco.
Veja minha classe conexão. O que posso mudar nela?
Grato
//Classe conexão
package conexao;
import java.sql.*;
public class Conexao {
private Connection connection;
private Statement statement;
public Conexao(String servidor,String database,String
user,
String password) throws
SQLException {
try {
Class.forName("org.gjt.mm.mysql.Driver");
connection = DriverManager.getConnection(
"jdbc:mysql://"+servidor+"/"+database,user,password);
}
catch (ClassNotFoundException ex) {
System.out.println("Não foi possível
encontrar a classe do "+
"Driver do MySQL");
}
catch (SQLException ex) {
System.out.println("Não foi possível
conectar ao servidor");
throw ex;
}
try {
statement = connection.createStatement
();
} catch (SQLException ex) {
System.out.println("Não foi possível
criar a statement");
throw ex;
}
}
public Conexao()
{
try{
Class.forName
("org.gjt.mm.mysql.Driver");
connection =
DriverManager.getConnection("jdbc:mysql://"+
"localhost:3306/gustavo","root", "5318469");
} catch (ClassNotFoundException ex) {
System.out.println("Não foi possível
encontrar a classe "+
"do Driver do MySQL");
} catch (SQLException ex) {
System.out.println("Não foi possível
conectar ao servidor");
}
try {
statement = connection.createStatement
();
} catch (SQLException ex) {
System.out.println("Não foi possível
criar a statement");
}
}
/********************************************************
* Executa um update na base de dados
*
* @param update String SQL a ser executado
*
* @throws SQLException se não for possível executar
*
* o update (Erro de SQL).
*
********************************************************/
public synchronized void executeUpdate(String update)
throws SQLException {
try {
statement.executeUpdate(update);
} catch (SQLException ex) {
System.out.println("Não foi possível executar
o update");
throw ex;
}
}
/*************************************************************
***
* Executa uma consulta na base de dados
*
* @param query String SQL a ser executado
*
* @return Um objeto do tipo ResultSet contendo o
*
* resultado da query
*
* @throws SQLException se não for possível executar a query
*
* (Erro de SQL).
*
**************************************************************
**/
public synchronized ResultSet executeQuery(String query)
throws SQLException {
try {
return statement.executeQuery(query);
} catch (SQLException ex) {
System.out.println("Não foi possível executar
a query");
throw ex;
}
}
/****************************************
* Fecha a conexao com a base de dados. *
****************************************/
public void fecharConexao()
{
try {
statement.close();
} catch (SQLException ex) {
ex.printStackTrace();
}
}
--- In [email protected], Luiz Alberto
<[EMAIL PROTECTED]> wrote:
> Fala, xará.
>
> Acredito que o erro seja a sua classe Conexao.
> no metodo fillReport da classe JasperManager voce deveria ter
passado um objeto java.sql.Connection ao invés da sua classe Conexao.
> Crie um metodo na sua classe Conexao que retorne a conexão com o
banco
> para que voce possa passar para o JasperManager.
> Ficaria mais ou menos assim:
> Conexao con = new Conexao();
> Connection connection = con.getConnection();
> .
> .
> JasperPrint impressao=JasperManager.fillReport
(report,parametros,connection);
>
> Um abraço,
> Beto
>
> rjbeto1 <[EMAIL PROTECTED]> escreveu:
> Amigos
>
> Criei o código abaixo para utilizar um .jasper criado no ireport,
> porém apresenta o seuinte erro:
>
> C:\jakarta-tomcat-5.0.28\webapps\gustavo\WEB-
> INF\classes\GerarRelatorio.java:40: cannot find symbol
> symbol : method fillReport
>
(net.sf.jasperreports.engine.JasperReport,java.util.HashMap,conexao.Co
> nexao)
> location: class net.sf.jasperreports.engine.JasperManager
> JasperPrint impressao=JasperManager.fillReport
> (report,parametros,con);
> ^
> Note: C:\jakarta-tomcat-5.0.28\webapps\gustavo\WEB-
> INF\classes\GerarRelatorio.java uses or overrides a deprecated API.
> Note: Recompile with -Xlint:deprecation for details.
> 1 error
>
> O que faço?
>
> Grato, Beto
>
> Código:
> import java.net.URL;
>
> import net.sf.jasperreports.engine.*;
> import net.sf.jasperreports.view.JasperViewer;
> import java.util.*;
> import java.beans.Statement;
> import java.sql.ResultSet;
> import java.lang.*;
> import conexao.*;
> import javax.swing.JFrame;
>
>
> public class GerarRelatorio extends JFrame//JInternalFrame
> {
> /* Recuperar uma conexao com o banco de dados*/
> Conexao con = new Conexao();
>
>
>
> //método que executa o relatório
> public void ok()
> {
> try
> {
> //colocar a conexão
>
>
> String reportFile=" SLVWagencia.jasper ";
> HashMap parametros=new HashMap();
> URL urlFile=getClass().getClassLoader().getResource
> (reportFile);
>
>
>
> if(urlFile==null)
> {
> throw new Exception("Arquivo "+reportFile+" não
> localizado");
> }
>
> JasperReport report=JasperManager.loadReport
> (urlFile.openStream());
> JasperPrint impressao=JasperManager.fillReport
> (report,parametros,con);
> JasperViewer viewer=new JasperViewer(impressao,false);
> viewer.setTitle("Relatório de Agencias");
> viewer.setBounds(0,0,400,300);
> viewer.show();
>
>
> //como faço para fechar a conexao? ex: con.close();
> }
> catch(Exception e)
> {
> System.out.println(e);
> }
> }
> }
>
>
>
>
>
>
>
>
>
> ---------------------------------
> Yahoo! Messenger com voz: PROMOÇÃO VOCÊ PODE LEVAR UMA VIAGEM NA
CONVERSA. Participe!
------------------------ Yahoo! Groups Sponsor --------------------~-->
Fair play? Video games influencing politics. Click and talk back!
http://us.click.yahoo.com/T8sf5C/tzNLAA/TtwFAA/5cFolB/TM
--------------------------------------------------------------------~->
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/jug-petropolis/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/