bom pessoal, to com um relatorio feito, fiz funciona-lo com o banco de dados, tipo conexao direta, $F{XXX} , agora to querendo usar parametros, $P{XXXX} , tipo receber valores do meu app java, vou usar imagem sabe, eu avredito que so consigo enviar dessa forma , por jasper. bom que manja disso entende o que quis dizer.
meu codigo java e esseString driver = "org.firebirdsql.jdbc.FBDriver"; //Classe do driver JDBC
String url = "jdbc:firebirdsql:localhost/3050:C:\\Program Files\\Sistema de Igreja\\bd\\IGREJA.GDB";
String usuario = "SYSDBA"; //Usuário do banco
String senha = "masterkey"; //Senha de conexão
String d = cpCodigo.getText();
String rel = "C:/Users/Luiz Gustavo/Documents/NetBeansProjects/IGREJA/src/tela/RelatorioMembro.jasper";
try {
Class.forName(driver); //Carrega o driver
//Obtém a conexão com o banco
Connection conn;
conn = (Connection) DriverManager.getConnection(url, usuario, senha);
String sql = "SELECT * FROM CADASTROMEMBROS WHERE CODIGO = " + d + "";
java.sql.Statement rec = conn.createStatement();
ResultSet rs = rec.executeQuery(sql);
if (rs.next()){
JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
Map param = new HashMap();
param.put("Cod", rs.getInt(1));
param.put("NUMERO", rs.getInt(2));
param.put("TITULO", rs.getInt(3));
param.put("ZONA", rs.getInt(4));
param.put("SECAO", rs.getInt(5));
param.put("RECEBIDO", rs.getInt(6));
param.put("FUNCAO", rs.getInt(7));
param.put("Nom", rs.getString(8));
param.put("Conj", rs.getString(9));
param.put("End", rs.getString(10));
param.put("CEP", rs.getString(11));
param.put("BAIRRO", rs.getString(12));
param.put("CIDADE", rs.getString(13));
param.put("ESTADO", rs.getString(14));
param.put("TELEFONE", rs.getString(15));
param.put("NACIONAL", rs.getString(16));
param.put("METURAL", rs.getString(17));
param.put("EMAIL", rs.getString(18));
param.put("PROFISSAO", rs.getString(19));
param.put("ESCOLA", rs.getString(20));
param.put("CARTEIRA", rs.getString(21));
param.put("ORIGEM", rs.getString(22));
param.put("DATADE", rs.getString(23));
param.put("CPFFFF", rs.getString(24));
param.put("QIDADEUF", rs.getString(25));
param.put("BATABA", rs.getString(26));
param.put("QUALIG", rs.getString(27));
param.put("SEDEIG", rs.getString(28));
param.put("OBSERV", rs.getString(29));
String print = JasperFillManager.fillReportToFile(rel, param, jrRS);
JasperViewer viewer = new JasperViewer(print, false);
viewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);//Coloca em maximizado
viewer.setTitle("teste");//Coloca um título no relatório
viewer.setVisible(true);
rs.close();
conn.close();
}
} catch (JRException ex) {
JOptionPane.showMessageDialog(null,"naum deu","naum deu", JOptionPane.PLAIN_MESSAGE);
Logger.getLogger(Principal.class.getName()).log(Level.SEVERE, null, ex);
}
catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null,"Não foi possível carregar o driver.","Não foi possível carregar o driver.",JOptionPane.CANCEL_OPTION);
ex.printStackTrace();
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Problema com o banco de dados","Problema com o banco de dados",JOptionPane.CANCEL_OPTION);
ex.printStackTrace();
}
catch(Exception erro){
erro.printStackTrace();
}
a conexao do relatorio e essa:
"Custom JRDataSource"
meus parametros estao assim:
$P{REPORT_PARAMETERS_MAP}.values(XXXXXX)
pesquisando na net vi que tem que ficar assim:
$P{XXXX}
bom, naum sei como fazer, e tbm naum sei se ta certo isso.
tem como alguem da uma força ai
meu ireport e o 3.7.3
me deem uma força, naum to conseguindo , fiz ate aki fuçando!!!!