我很难尝试使用系统从我的ireport建立连接。我的问题是我使用的系统是集成的,换句话说,我的几个客户端将使用相同的系统,因此使用相同的报告。这就是问题,每个客户的银行名称和IP都不一样。所以我想知道jasper如何从系统中获取银行IP和银行名称,而不是通过ireport建立的连接?反正有没有通过代码将这些数据发送到ireport?如果是这样,我怎么能这样做?
答案 0 :(得分:1)
以下是iReport提供的数据源和连接类型列表:
-JDBC连接。
-JavaBean集合数据源。
-XML数据源。
-CSV数据源。
-Hibernate连接。
-Spring-loaded Hibernate连接。
-Hadoop Hive数据源。
-JRDataSourceProvider。
- 自定义数据源。
-Mondrian OLAP连接。
-XMLA连接。
-EJBQL连接。
- 空数据源。
对于您的情况,您需要“JavaBean集合数据源”来填充java代码中的报告,使用以下两个类:net.sf.jasperreports.engine.data.JRBeanCollectionDataSource,net.sf.jasperreports.engine.data。 JRBeanArrayDataSource
答案 1 :(得分:0)
我的系统通过班级Connection
进行通信。 Java可以.jasper
通过这个类与数据库进行通信吗?
我的连接
<强> ============== 强>
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;
/**
*
* @author User
*/
public class ConnectionJava {
Connection conn;
public Connection conectar() {
try {
Class.forName(DriverConnectionJava);
conn = DriverManager.getConnection(database, username, password);
} catch (SQLException ex) {
Logger.getLogger(ConnectionJava.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Error login with data base", "ERROR!", JOptionPane.ERROR_MESSAGE);
} catch (ClassNotFoundException ex) {
Logger.getLogger(ConnectionJava.class.getName()).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Error connection data base", "ERROR!", JOptionPane.ERROR_MESSAGE);
}
return conn;
}
public void desconect() {
try {
conn.close();
} catch (SQLException ex) {
Logger.getLogger(ConnectionJava.class.getName()).log(Level.SEVERE, null, ex);
}
}
private String database = "jdbc:mysql://localhost/Java";
private String username = "root";
private String password = "root";
private String DriverConnectionJava = "com.mysql.jdbc.Driver";
}