2011-08-13 34 views
1

我是新來的Jasper報表,cpuld有人請告訴我爲什麼正在創建一個空的報告數據需要重新發送數據庫中的inspite爲什麼被賈斯珀創建一個空的報告,報告

請看,這是我的程序

public class ReportDriver { 

    /** 
    * Constructor for ReportDriver 
    */ 
    public ReportDriver() { 
    } 

    public static void main(String args[]) { 
     Connection con = null; 
     try { 

      Class.forName("oracle.jdbc.driver.OracleDriver"); 

      con = DriverManager.getConnection(
        "jdbc:oracle:thin:@localhost:1521:orcle", "scott", "tiger"); 

      JasperDesign jasperDesign = JRXmlLoader 
        .load("C:\\Documents and Settings\\Admin\\report5.jrxml"); 

      JasperReport jasperReport = JasperCompileManager 
        .compileReport(jasperDesign); 

      JasperPrint jasperPrint = JasperFillManager.fillReport(
        jasperReport, null, con); 
      JasperViewer.viewReport(jasperPrint); 
     } catch (Exception ex) { 
      ex.printStackTrace(); 
      String connectMsg = "Could not create the report "; 
      System.out.println(connectMsg); 
     } 
    } 

} 
This is my jrxml file 

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report5" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    <queryString language="SQL"> 
     <![CDATA[select EMPNO , ENAME , JOB from emp]]> 
    </queryString> 
    <field name="EMPNO" class="java.math.BigDecimal"/> 
    <field name="ENAME" class="java.lang.String"/> 
    <field name="JOB" class="java.lang.String"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band height="79" splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band height="35" splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band height="61" splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band height="125" splitType="Stretch"/> 
    </detail> 
    <columnFooter> 
     <band height="45" splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band height="54" splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band height="42" splitType="Stretch"/> 
    </summary> 
</jasperReport> 

回答

2

你的報告是空的,因爲這正是它應該是這樣的:你的jrxml不包含任何要顯示的元素。嘗試以下jrxml,看看區別:

<?xml version="1.0" encoding="UTF-8"?> 
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="report5" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20"> 
    <queryString language="SQL"> 
     <![CDATA[select EMPNO , ENAME , JOB from emp]]> 
    </queryString> 
    <field name="EMPNO" class="java.math.BigDecimal"/> 
    <field name="ENAME" class="java.lang.String"/> 
    <field name="JOB" class="java.lang.String"/> 
    <background> 
     <band splitType="Stretch"/> 
    </background> 
    <title> 
     <band height="79" splitType="Stretch"/> 
    </title> 
    <pageHeader> 
     <band height="35" splitType="Stretch"/> 
    </pageHeader> 
    <columnHeader> 
     <band height="61" splitType="Stretch"/> 
    </columnHeader> 
    <detail> 
     <band height="125" splitType="Stretch"> 
      <textField> 
       <reportElement x="0" y="0" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[$F{EMPNO}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="0" y="20" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[$F{ENAME}]]></textFieldExpression> 
      </textField> 
      <textField> 
       <reportElement x="0" y="40" width="100" height="20"/> 
       <textElement/> 
       <textFieldExpression class="java.lang.String"><![CDATA[$F{JOB}]]></textFieldExpression> 
      </textField> 
     </band> 
    </detail> 
    <columnFooter> 
     <band height="45" splitType="Stretch"/> 
    </columnFooter> 
    <pageFooter> 
     <band height="54" splitType="Stretch"/> 
    </pageFooter> 
    <summary> 
     <band height="42" splitType="Stretch"/> 
    </summary> 
</jasperReport> 
+0

謝謝you.useful :) – Ritz