# Jasper: queryString field an subDataset übergeben?



## Vayu (27. Sep 2010)

Hallo,

ich bin ganz neu in Jasper.
ich habe einen queryString der sich über SQL aus einer Oracle-DB Datensätze holt.
Nun brauche ich eine weitere Abfrage, die eine ID aus der ersten Abfrage als Parameter übergeben bekommen soll.

Beispiel:

Ich habe eine Menge an Büros (ID, Bezeichnung, Ort, etc.)
Nun möchte ich pro Seite im Report zu einem Büro noch die Mitarbeiter aufführen. Jeder Mitarbeiter hat die ID, des Büros in dem er arbeitet.

Die Seite soll dann so aussehen:


```
Büro-ID = 12
Büroname = Hintertupfingen

Mitarbeiter:
Hans Meier
Jürgen Geier
Emil Lime
```

Kann man das irgendwie so machen?
Dankbar für jede Hilfe

Mein Ansatz war folgender:
$F{BUERO_ID} ist ein field aus dem eigentlichen queryString im report
[xml]
<subDataset name="mitarbeiter">
             <parameter name="BUERO_ID" class="java.math.BigDecimal"/>
		<queryString language="SQL">
			<![CDATA[select m.vorname, m.nachname from mitarbeiter ma
where ma.buero_id = $F{BUERO_ID}]]>
		</queryString>
		<field name="vorname" class="java.lang.String">
			<fieldDescription><![CDATA[]]></fieldDescription>
		</field>
		<field name="nachname" class="java.lang.String">
			<fieldDescription><![CDATA[]]></fieldDescription>
		</field>
	</subDataset>
[/xml]

Dann habe ich im <band> ein datasetRun gemacht und versucht die fields daraus textFields zuzuweisen. bekomme aber "Error filling print ..."

[xml]
<datasetRun subDataset="mitarbeiter">
   <datasetParameter name="BUERO_ID">
      <datasetParameterExpression><![CDATA[$F{BUERO_ID}]]></datasetParameterExpression>
   </datasetParameter>
</datasetRun>
[/xml]

was mache ich falsch? 

Gruss Vayu


----------



## y0dA (27. Sep 2010)

<![CDATA[select *m*.vorname, *m*.nachname from mitarbeiter *ma*
where ma.buero_id = $F{BUERO_ID}]]>


----------



## Vayu (27. Sep 2010)

und kaum habe ich auf abschicken geklickt hab ich den Fehler gesehen ...

im subDataset im SQL-Statement muss natürlich $P{BUERO_ID} genommen werden und nicht $F{BUERO_ID} ...

Danke 

@Yoda. das habe ich im posting nur verbockt. im code richtig. Danke.


----------

