不好意思,忘留邮箱了,我的EMAIL:    [email protected]

解决方案 »

  1.   

    我现在也在做这东东~把你的例子发我看看[email protected]
      

  2.   

    给我也来一份吧,谢谢 [email protected]
      

  3.   

    <%@ page contentType="application/pdf;charset=GB2312"%>
    <%@ page import="dori.jasper.engine.*" %>
    <%@ page import="dori.jasper.engine.util.*" %>
    <%@ page import="dori.jasper.engine.export.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.sql.*" %>
    <%
    //报表编译之后生成的.jasper 文件的存放位置
    File reportFile = new File(application.getRealPath("/report/test.jasper"));
    //这个是用来联接我的 SQL Server 的 JDBC URL
    String url ="jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=Pubs";
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    //传递报表中用到的参数值
         Map parameters = new HashMap();
         //"Name"是报表中定义过的一个参数名称,其类型为 String 型
         parameters.put("Name", new String(" 裴贺先"));
         System.out.println("---------conn-------------");
         //连接到数据库
         Connection conn = DriverManager.getConnection(url,"sa", "");
         System.out.println("---------Jasper begin-------------");
         //在控制台显示一下报表文件的物理路径
         System.out.println(reportFile.getPath());
         byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
         System.out.println("---------Jasper end-------------");
         response.setContentType("application/pdf");
         response.setContentLength(bytes.length);
         ServletOutputStream ouputStream = response.getOutputStream();
         ouputStream.write(bytes, 0, bytes.length);
         ouputStream.flush();
         ouputStream.close();
    %>
      

  4.   

    to   chshzh2000(地皮):
    上面的这个例子,我也用过不能运行。
      

  5.   

    public static Connection connectPostgers() throws SQLException
       {
           Connection mycon = null;       if (databaseDrvName == "")
           {
               databaseDrvName = "org.postgresql.Driver";
           }
           if (databaseURL=="")
           {
               databaseURL = "jdbc:postgresql://172.25.4.27/PTSII";
           }
           if (databaseUSER=="")
           {
               databaseUSER = "postgres";
           }
           if (databasePWD=="")
           {
               databasePWD = "";
           }       try
           {
               Class.forName(databaseDrvName);
               mycon = DriverManager.getConnection(databaseURL, databaseUSER,databasePWD);
           }
           catch (SQLException sqle)
           {
               System.out.println("connectDB() error:" + sqle.getMessage());
               sqle.printStackTrace();
               throw sqle;
           }
           catch (ClassNotFoundException cnfe)
           {
               System.out.println("connectDB() ClassNotFound error:" + cnfe.getMessage());
               cnfe.printStackTrace();
               throw new SQLException("ConnectDB() ClassNotFound error:" + cnfe.getMessage());
           }       return mycon;
       }<%
    File reportFile = new File(application.getRealPath("/reports/testparamter.jasper")); Map parameters = new HashMap();
            String sql = "SELECT * FROM balance_table WHERE part>='CACM104016-00B' AND part<='CAET000009-00A'";
    //parameters.put("ReportTitle", "Address Report");
    //parameters.put("BaseDir", reportFile.getParentFile());
            parameters.put("SQLSTR",sql);
            Connection conn = connectionDB.connectPostgers();
            if(conn!= null){
               System.out.println("connection success !");
            }else{
               System.out.println("connection fail !");
            } byte[] bytes =JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
    response.setContentType("application/pdf"); response.setContentLength(bytes.length);
    ServletOutputStream ouputStream = response.getOutputStream();
    ouputStream.write(bytes, 0, bytes.length);
    ouputStream.flush();
    ouputStream.close();
    %>
    这个SQLSTR参数就是我传进去的,在iReport中设计的时候,打开
    view->report paremter菜单,新建一个参数SQLSTR,然后在filed中加上你要显示的字段,然后在Datasource-->report query中修改为$P!{SQLSTR}就可以了