Ajuda Ireport{Resolvido}

Oiiii pessoal tudo bom ?
Eu to com um probleminha, eu faço os relatorios pelo ireport dentro do netbeans,
eu queria que esse relatorio o .jasper usasse a minha classe de conexão tem como os relatorios pegarem a minha classe de conexão para se conectar no banco de dados ?
alguém ajuda eu please…
bjoss obrigado queridos…

essa é minha classe de conexão

package newpackage;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;

public class ConexaoJava {

    Connection conn;

    public Connection conectar() {
        try {
            Class.forName(DriverConexao);
            conn = DriverManager.getConnection(database, username, password);
        } catch (SQLException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, "Erro de login com banco de dados", "ERRO!", JOptionPane.ERROR_MESSAGE);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(null, "Erro na comunicação com o banco de dados", "ERRO!", JOptionPane.ERROR_MESSAGE);
        }

        return conn;
    }

    public void desconectar() {
        try {
            conn.close();
        } catch (SQLException ex) {
            Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    private String database = "jdbc:mysql://localhost/DataBase";
    private String username = "root";
    private String password = "magalli";
    private String DriverConexao = "com.mysql.jdbc.Driver";
}

é só enviar seu Connection depois de populado para o ireports

   Map parameters = new HashMap();  
  
  
   JasperPrint jpt = JasperFillManager.fillReport("src/util/RelatorioCursos.jasper", parameters, con);   // CONN é sua conexão, seu connection
     
   JasperViewer jv = new JasperViewer( jpt );    
   jv.setVisible( true ); 

Eu fiz dessa forma ele puxou os relatorios e exibiu só que quando o projeto foi executado em outro computador,
ai a historia mudo, o banco de dados no outro computador tava com nome de DataBase1, então fui na classe conexão
e mudei essa parte do código

private String database = "jdbc:mysql://localhost/DataBase";

para

private String database = "jdbc:mysql://localhost/DataBase1";

então o arquivo jasper não acho a base de dados, eu tenho a impressão que o arquivo .jasper não consegue pegar
o conexao.class o que eu faço ? será que é na hora de compilar o que tem que fazer na hora de compilar para o arquivo jasper pega a classe conexao?
se eu não consegui montar isto e tiver que instalar em um cliente e tiver 100 relatorio vo te que compilar os 100 td dinovo…socorroo
já to ficando louca com isso…

nao achou a base de dados como? que erro mostra? só fazendo isso era pra funcionar

de qq forma, tem um parametro defaullt no ireports que é uma conexão… nao me recordo do nome agora… voce pode passar um parametro sql direto pro ireports ou uma conexao

[color=violet]Deu certo eu tava errando na hora de compilar o arquivo jasper, mas to com outro problema como faço para passar o parametro para organizar por nome ou código no mesmo relatorio sem ter que fazer um relatorio por nome e outro por codigo tem como ??[/color]

O problema agora que estou enfrentando é no sql exemplo

SELECT
     cliente.`codigo` AS cliente_codigo,
     cliente.`nome` AS cliente_nome,
     cliente.`cpf` AS cliente_cpf,
     cliente.`rg` AS cliente_rg,
     cliente.`nomecid` AS cliente_nomecid,
     cliente.`telres` AS cliente_telres
FROM
     `cliente` cliente
ORDER BY
     cliente.`nome` ASC

esse é o meu SQL do meu arquivo .jasper, eu queria passar um parametro para ele para ele pegar ou por codigo ou por nome,
eu sei que tenho que criar um novo parametro no ireport
ex: ordenar_codigo
Mais o que eu vo passar de valor da expressão ? seria algo assim ??
$P{cliente.nome ASC}

então eu mudaria o sql dessa forma ??

SELECT
     cliente.`codigo` AS cliente_codigo,
     cliente.`nome` AS cliente_nome,
     cliente.`cpf` AS cliente_cpf,
     cliente.`rg` AS cliente_rg,
     cliente.`nomecid` AS cliente_nomecid,
     cliente.`telres` AS cliente_telres
FROM
     `cliente` cliente
ORDER BY
      $P{ordenar_nome},

Para eu fazer toda ordenação em um só arquivo .jasper para não ter que montar um .jasper para ordenar por nome outro por código

então no java na classe que eu gero o relatorio iria passar esses parametros

hash.put("ordernar_nome", nome);
hash.put("ordernar_nome", codigo);

O problema esta em passar o parametros para que ordene o relatorio por nome e por código,
assim evito de ter que montar dois .jasper…