在实际应用中,可能需要根据表名动态地改变数据源,比如在程序数据集中,通过传进的表名参数,到数据库取出对应的表作为数据源.例如,FineReport是通过AbstractTableData抽象类来读取数据源的,而上述所有的数据来源都继承实现其抽象方法,因此用户只要实现了AbstractTableData抽象类,也就可以用自定义类型的数据源了(程序数据集),这是带参程序数据集连接的方法. FineReport报表引擎就能够读取定义的数据源作为报表数据源使用,原理就是继承AbstractTableDa