cs模式报表-数据源篇

《cs模式报表使用简介》介绍了怎么展现、导出、打印报表,例子的报表数据是写死在报表模板中的,不是从数据库取出来的。报表要想从数据库中取数据,就要配置数据源。这篇文章将介绍怎么配置数据源连接数据库。

 

设置数据源是对Context类对象进行设置的,通过数据源工厂改变数据源连接IConnectionFactory connFactory=……; //构造数据源工厂类,一般为自定义类cxt.setConnectionFactory(sourceName,connFactory);//其中connFactory这个类必须实现IConnectionFactory接口,并且实现他的public //java.sql.Connection getConnection() throws Exception 方法

下面是设置报表运算环境的代码

//设置环境变量方法

    private void setContext() {

       //new一个context对象

        cxt = new Context();

       //定义数据源配置类

       DataSourceConfig dsoc = new DataSourceConfig(DBTypes.UNKNOWNfalse“GBK”“GBK”,false);

       //CSConnectionFactoryCSConnectionFactoryTwo为自定义类,构造数据源连接工厂

       CSConnectionFactory csConnFactory = new CSConnectionFactory();

       CSConnectionFactoryTwo csConnFactoryTwo = new CSConnectionFactoryTwo();

       System.out.println(“connectionFactory:”+csConnFactory);

      

       cxt.setDataSourceConfig(“demo”,dsoc);

       cxt.setConnectionFactory(“demo”, csConnFactory);

      

       cxt.setDataSourceConfig(“demo1″,dsoc);

       cxt.setConnectionFactory(“demo1″, csConnFactoryTwo);

    }

上面代码中设置了两个数据源:demo、demo1。

下面看一下数据源连接工厂的自定义类

public class CSConnectionFactory implements IConnectionFactory{

    public java.sql.Connection getConnection() throws Exception {

        Connection con=null;

        try{

         Driver driver=(Driver)Class.forName(“org.hsqldb.jdbcDriver”).newInstance();

         con=DriverManager.getConnection(“jdbc:hsqldb:hsql://localhost:9001/runqianDB”,“sa”,“”);

        }catch(Exception ex){}

           return con;

        }

}

这些代码都是java连接数据库的通用写法,没有特殊的地方,所以就没加注释。

 

cs模式报表配置数据源配置完毕。下面做个报表检测一下配置信息是否有效。

 

此报表创建了两个数据集,一个用到了数据源“demo”,一个用到了“demo1”。B2单元格的显示值用到了ds2

 

 

报表展现的效果:

 

报表展现正常,证明数据源配置起作用了。

 

热门文章