package
it.businesslogic.ireport.connection;
import net.sf.jasperreports.engine.*
;
//
import net.sf.jasperreports.engine.data.*;
//import java.sql.Statement;
import
java.sql.ResultSet;
import
java.sql.Connection;
import
java.sql.DriverManager;
import
java.sql.SQLException;
import
java.util.Map;
import
java.util.HashMap;
import
net.sf.jasperreports.view.JasperViewer;
import
java.util.ArrayList;
import
java.sql.ResultSetMetaData;
import
java.sql.PreparedStatement;

public class PrintDataSource implements JRDataSource ...
{
private int index = -1;
ArrayList dataSet = new ArrayList(); //存放从数据库里查询出来的数据集,里面存放HashMap
Connection con = null;
public static String sql = "select school_code,right(school_name,4) as school_name,one_grade_class+two_grade_class+three_grade_class+four_grade_class+five_grade_class+six_grade_class+(select count(*) from class_definition) as total1,one_grade_class as one, two_grade_class as two,three_grade_class as three, four_grade_class as four,five_grade_class as five, six_grade_class as six,(select count( * ) from class_definition) as fushi from school_info where student_total>=? and student_total<=?"; //传来的sql语句,填充数据集时用
int cellCount = 0; //记录数据集的列数
public ArrayList getClassCount() throws SQLException ...{
HashMap hm = null;
ArrayList list = new ArrayList(); //查询出来的数据集,返回给全局变量dataSet
int a = 0; // 记录记录集的行数
int smallAge[] = new int[6];
int bigAge[] = new int

本文档展示了如何实现一个名为`PrintDataSource`的类,该类继承自`JRDataSource`,用于处理JasperReport报表的自定义数据源。通过连接SQLServer数据库,执行SQL查询获取数据,并将其存储在ArrayList中。内容包括建立数据库连接,预编译SQL语句,遍历结果集并转换为HashMap存储,最后返回数据集供报表使用。
最低0.47元/天 解锁文章
1201

被折叠的 条评论
为什么被折叠?



