W
Wiesel
Gast
Guten Tag,
ich habe mir iReport 1.2.6 für Linux heruntergeladen und ausgeführt. Nichts von JasperReport oder ähnlichem.
Ich habe mir eine MySQL-Datenbank als Quelle eingerichtet und die Connection erfolgreich getestet.
Zunächst habe ich mir einen neuen Bericht mit Standartwerten erstellt.
Als nächstes gebe ich eine Reportanfrage ein mit einem SQL das mir sicher mehrere Tupel aus der DB zurückgeben würde.
( SELECT name, vorname FROM wos_user WHERE admin = 'ja'; ) Getestet in phpMyAdmin.
Name und Vorname sind nun als Felder verfügbar, welche ich dann in den Detailbereich einfüge, damit sie für jedes Tupel ausgegeben werden.
Das Kompilieren unter 'Build->Kompilieren' klappt ohne Fehlermeldungen.
Wenn ich dann aber 'Build->Bericht starten' aufrufe, erzeugt es mir eine Seite auf der nur die Überschrift zu sehen sind, und an der Stelle der Datenfelder steht ein einfaches 'NULL', mehr nicht.
Was mache ich falsch?
Ich habe den Code der jrxml-Datei mit den Beispielen auf www.alexander-merz.com verglichen und keinen Fehler entdeckt.
Ebenso hab ich auch gegoogelt und die Forensuche benutzt.
Hier mal den Code der jrxml-Datei:
Und dazu noch der Code der kompilierten Java-Datei:
Ich hoffe ihr könnt mir irgendwie weiterhelfen.
Vielen Dank schon mal im Vorraus.
Gruß Wiesel
ich habe mir iReport 1.2.6 für Linux heruntergeladen und ausgeführt. Nichts von JasperReport oder ähnlichem.
Ich habe mir eine MySQL-Datenbank als Quelle eingerichtet und die Connection erfolgreich getestet.
Zunächst habe ich mir einen neuen Bericht mit Standartwerten erstellt.
Als nächstes gebe ich eine Reportanfrage ein mit einem SQL das mir sicher mehrere Tupel aus der DB zurückgeben würde.
( SELECT name, vorname FROM wos_user WHERE admin = 'ja'; ) Getestet in phpMyAdmin.
Name und Vorname sind nun als Felder verfügbar, welche ich dann in den Detailbereich einfüge, damit sie für jedes Tupel ausgegeben werden.
Das Kompilieren unter 'Build->Kompilieren' klappt ohne Fehlermeldungen.
Wenn ich dann aber 'Build->Bericht starten' aufrufe, erzeugt es mir eine Seite auf der nur die Überschrift zu sehen sind, und an der Stelle der Datenfelder steht ein einfaches 'NULL', mehr nicht.
Was mache ich falsch?
Ich habe den Code der jrxml-Datei mit den Beispielen auf www.alexander-merz.com verglichen und keinen Fehler entdeckt.
Ebenso hab ich auch gegoogelt und die Forensuche benutzt.
Hier mal den Code der jrxml-Datei:
Code:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
name="test02"
columnCount="1"
printOrder="Vertical"
orientation="Portrait"
pageWidth="595"
pageHeight="842"
columnWidth="535"
columnSpacing="0"
leftMargin="30"
rightMargin="30"
topMargin="20"
bottomMargin="20"
whenNoDataType="NoPages"
isTitleNewPage="false"
isSummaryNewPage="false">
<property name="ireport.scriptlethandling" value="2" />
<property name="ireport.encoding" value="UTF-8" />
<import value="java.util.*" />
<import value="net.sf.jasperreports.engine.*" />
<import value="net.sf.jasperreports.engine.data.*" />
<queryString><![CDATA[SELECT name, vorname FROM wos_user WHERE admin = 'ja';]]></queryString>
<field name="name" class="java.lang.String"/>
<field name="vorname" class="java.lang.String"/>
<background>
<band height="0" isSplitAllowed="true" >
</band>
</background>
<title>
<band height="50" isSplitAllowed="true" >
</band>
</title>
<pageHeader>
<band height="50" isSplitAllowed="true" >
</band>
</pageHeader>
<columnHeader>
<band height="30" isSplitAllowed="true" >
<staticText>
<reportElement
x="83"
y="9"
width="97"
height="18"
key="staticText-1"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Name]]></text>
</staticText>
<staticText>
<reportElement
x="217"
y="10"
width="97"
height="18"
key="staticText-2"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement>
<font pdfFontName="Helvetica-Bold" isBold="true"/>
</textElement>
<text><![CDATA[Vorname]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="100" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="86"
y="29"
width="100"
height="18"
key="textField"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{name}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
x="217"
y="29"
width="100"
height="18"
key="textField"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$F{vorname}]]></textFieldExpression>
</textField>
</band>
</detail>
<columnFooter>
<band height="30" isSplitAllowed="true" >
</band>
</columnFooter>
<pageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</pageFooter>
<lastPageFooter>
<band height="50" isSplitAllowed="true" >
</band>
</lastPageFooter>
<summary>
<band height="50" isSplitAllowed="true" >
</band>
</summary>
</jasperReport>
Und dazu noch der Code der kompilierten Java-Datei:
Code:
/*
* Generated by JasperReports - 27.09.06 14:31
*/
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.fill.*;
import java.util.*;
import java.math.*;
import java.text.*;
import java.io.*;
import java.net.*;
import java.util.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.data.*;
public class test02_1159360274623_809655 extends JREvaluator {
private JRFillParameter parameter_REPORT_RESOURCE_BUNDLE = null;
private JRFillParameter parameter_REPORT_URL_HANDLER_FACTORY = null;
private JRFillParameter parameter_REPORT_CONNECTION = null;
private JRFillParameter parameter_REPORT_PARAMETERS_MAP = null;
private JRFillParameter parameter_IS_IGNORE_PAGINATION = null;
private JRFillParameter parameter_REPORT_CLASS_LOADER = null;
private JRFillParameter parameter_REPORT_TIME_ZONE = null;
private JRFillParameter parameter_REPORT_VIRTUALIZER = null;
private JRFillParameter parameter_REPORT_LOCALE = null;
private JRFillParameter parameter_REPORT_DATA_SOURCE = null;
private JRFillParameter parameter_REPORT_SCRIPTLET = null;
private JRFillParameter parameter_REPORT_MAX_COUNT = null;
private JRFillField field_name = null;
private JRFillField field_vorname = null;
private JRFillVariable variable_PAGE_NUMBER = null;
private JRFillVariable variable_COLUMN_NUMBER = null;
private JRFillVariable variable_REPORT_COUNT = null;
private JRFillVariable variable_PAGE_COUNT = null;
private JRFillVariable variable_COLUMN_COUNT = null;
public void customizedInit(Map pm, Map fm, Map vm) {
initParams(pm);
initFields(fm);
initVars(vm);
}
private void initParams(Map pm) {
parameter_REPORT_RESOURCE_BUNDLE = (JRFillParameter)pm.get("REPORT_RESOURCE_BUNDLE");
parameter_REPORT_URL_HANDLER_FACTORY = (JRFillParameter)pm.get("REPORT_URL_HANDLER_FACTORY");
parameter_REPORT_CONNECTION = (JRFillParameter)pm.get("REPORT_CONNECTION");
parameter_REPORT_PARAMETERS_MAP = (JRFillParameter)pm.get("REPORT_PARAMETERS_MAP");
parameter_IS_IGNORE_PAGINATION = (JRFillParameter)pm.get("IS_IGNORE_PAGINATION");
parameter_REPORT_CLASS_LOADER = (JRFillParameter)pm.get("REPORT_CLASS_LOADER");
parameter_REPORT_TIME_ZONE = (JRFillParameter)pm.get("REPORT_TIME_ZONE");
parameter_REPORT_VIRTUALIZER = (JRFillParameter)pm.get("REPORT_VIRTUALIZER");
parameter_REPORT_LOCALE = (JRFillParameter)pm.get("REPORT_LOCALE");
parameter_REPORT_DATA_SOURCE = (JRFillParameter)pm.get("REPORT_DATA_SOURCE");
parameter_REPORT_SCRIPTLET = (JRFillParameter)pm.get("REPORT_SCRIPTLET");
parameter_REPORT_MAX_COUNT = (JRFillParameter)pm.get("REPORT_MAX_COUNT");
}
private void initFields(Map fm) {
field_name = (JRFillField)fm.get("name");
field_vorname = (JRFillField)fm.get("vorname");
}
private void initVars(Map vm) {
variable_PAGE_NUMBER = (JRFillVariable)vm.get("PAGE_NUMBER");
variable_COLUMN_NUMBER = (JRFillVariable)vm.get("COLUMN_NUMBER");
variable_REPORT_COUNT = (JRFillVariable)vm.get("REPORT_COUNT");
variable_PAGE_COUNT = (JRFillVariable)vm.get("PAGE_COUNT");
variable_COLUMN_COUNT = (JRFillVariable)vm.get("COLUMN_COUNT");
}
public Object evaluate(int id) throws Throwable {
Object value = null;
switch (id) {
case 0 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 1 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 2 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 3 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 4 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 5 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 6 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 7 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 8 : {
value = (java.lang.String)(((java.lang.String)field_name.getValue()));
break;
}
case 9 : {
value = (java.lang.String)(((java.lang.String)field_vorname.getValue()));
break;
}
default :{
}
}
return value;
}
public Object evaluateOld(int id) throws Throwable {
Object value = null;
switch (id) {
case 0 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 1 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 2 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 3 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 4 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 5 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 6 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 7 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 8 : {
value = (java.lang.String)(((java.lang.String)field_name.getOldValue()));
break;
}
case 9 : {
value = (java.lang.String)(((java.lang.String)field_vorname.getOldValue()));
break;
}
default : {
}
}
return value;
}
public Object evaluateEstimated(int id) throws Throwable {
Object value = null;
switch (id) {
case 0 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 1 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 2 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 3 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 4 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 5 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 6 : {
value = (java.lang.Integer)(new Integer(1));
break;
}
case 7 : {
value = (java.lang.Integer)(new Integer(0));
break;
}
case 8 : {
value = (java.lang.String)(((java.lang.String)field_name.getValue()));
break;
}
case 9 : {
value = (java.lang.String)(((java.lang.String)field_vorname.getValue()));
break;
}
default : {
}
}
return value;
}
}
Ich hoffe ihr könnt mir irgendwie weiterhelfen.
Vielen Dank schon mal im Vorraus.
Gruß Wiesel