# Probleme mit Komplexerer ejb-ql Abfrage!



## th.weigand (17. Okt 2007)

--------------------------------------------------------------------------------

Hallo,

ich habe folgende Funktion geschrieben:

```
public Collection<UeberweisungBean> findeUeberwzeitraum(String day, Integer kontonr, Integer blz)
{
// TODO Auto-generated method stub
if (day == null)
day = "14";
Collection<UeberweisungBean> ueberw = null;
Date aktDate = new Date();
Date oldDate = null;
PastDate past = new PastDate();
oldDate = past.BeforeDate(day);
Query query = manager.createQuery("SELECT u FROM UeberweisungBean u WHERE((((NOT ((u.qblz = :blz) AND (u.qkontonr = :kontonr))) AND ((u.zblz = :blz) AND (u.zkontonr = :kontonr))) OR (((u.qblz = :blz) AND (u.qkontonr = :kontonr)) AND (NOT((u.zblz = :blz) AND (u.zkontonr = :kontonr)))) AND (u.datum BETWEEN ?1 AND ?2))");
query.setParameter("blz", blz);
query.setParameter("kontonr", kontonr);
query.setParameter(1, oldDate, TemporalType.DATE);
query.setParameter(2, aktDate, TemporalType.DATE);
ueberw = query.getResultList();

if (ueberw != null) 
return ueberw;
else {
System.err.println("Es gibt keine Ueberweisungen oder es ist ein Fehler passiert!");
return ueberw;
}
```
Leider bekomme ich folgende Fehlermeldung mit der ich nichts anfangen kann:

09:50:01,984 ERROR [PARSER] line 1:293: unexpected token: null
09:50:02,015 ERROR [PARSER] line 1:293: expecting CLOSE, found 'null'
09:50:02,046 WARN [HqlParser] processEqualityExpression() : No expression to process!

ich hoffe es kann mir einer bitte helfen.

danke im voraus
Thomas


----------



## SlaterB (17. Okt 2007)

provokant gefragt: bist du einfach zu faul, die Anfrage mal geordnet aufzuschreiben oder nur mit Teilausdrücken zu testen?

du hast mehr öffnende als schließende Klammern,
das kann also syntaktisch nicht hinhauen
('expecting CLOSE' heißt wohl 'erwarte )')


----------



## th.weigand (18. Okt 2007)

danke für den Tip er hat mir sehr weitergeholfen, hab das Problem gefunden und behoben.

thanks
Thomas


----------

