rajumuchunde
asked on
Can't parse an expression rm.exec using jxls package
Exception in thread "main" java.lang.RuntimeException : Can't parse an expression rm.exec('SELECT d.name depname, e.name empname, payment, bonus FROM employee e, department d where d.id = e.depid order by age desc')
at net.sf.jxls.tag.ForEachTag .parseItem sProperty( ForEachTag .java:142)
at net.sf.jxls.tag.ForEachTag .init(ForE achTag.jav a:104)
at net.sf.jxls.parser.CellPar ser.parseT ag(CellPar ser.java:2 94)
at net.sf.jxls.parser.CellPar ser.parseC ellValue(C ellParser. java:196)
at net.sf.jxls.parser.CellPar ser.parseC ell(CellPa rser.java: 57)
at net.sf.jxls.transformer.Sh eetTransfo rmer.parse Cells(Shee tTransform er.java:19 3)
at net.sf.jxls.transformer.Sh eetTransfo rmer.parse Row(SheetT ransformer .java:263)
at net.sf.jxls.transformer.Sh eetTransfo rmer.trans formSheet( SheetTrans former.jav a:82)
at net.sf.jxls.transformer.XL STransform er.transfo rmWorkbook (XLSTransf ormer.java :238)
at net.sf.jxls.transformer.XL STransform er.transfo rmXLS(XLST ransformer .java:217)
at net.sf.jxls.transformer.XL STransform er.transfo rmXLS(XLST ransformer .java:196)
at net.sf.jxls.sample.Reporti ngSample.m ain(Report ingSample. java:38)
Caused by: java.sql.SQLException: Column 'name' not found.
at com.mysql.jdbc.SQLError.cr eateSQLExc eption(SQL Error.java :1055)
at com.mysql.jdbc.SQLError.cr eateSQLExc eption(SQL Error.java :956)
at com.mysql.jdbc.SQLError.cr eateSQLExc eption(SQL Error.java :926)
at com.mysql.jdbc.ResultSetIm pl.findCol umn(Result SetImpl.ja va:1093)
at com.mysql.jdbc.ResultSetIm pl.getObje ct(ResultS etImpl.jav a:4951)
at org.apache.commons.beanuti ls.JDBCDyn aClass.get Object(JDB CDynaClass .java:271)
at org.apache.commons.beanuti ls.RowSetD ynaClass.c opy(RowSet DynaClass. java:232)
at org.apache.commons.beanuti ls.RowSetD ynaClass.< init>(RowS etDynaClas s.java:187 )
at org.apache.commons.beanuti ls.RowSetD ynaClass.< init>(RowS etDynaClas s.java:152 )
at net.sf.jxls.report.ReportM anagerImpl .exec(Repo rtManagerI mpl.java:4 4)
at sun.reflect.NativeMethodAc cessorImpl .invoke0(N ative Method)
at sun.reflect.NativeMethodAc cessorImpl .invoke(Un known Source)
at sun.reflect.DelegatingMeth odAccessor Impl.invok e(Unknown Source)
at java.lang.reflect.Method.i nvoke(Unkn own Source)
at org.apache.commons.jexl.ut il.introsp ection.Ube rspectImpl $VelMethod Impl.invok e(Uberspec tImpl.java :231)
at org.apache.commons.jexl.pa rser.ASTMe thod.execu te(ASTMeth od.java:10 4)
at org.apache.commons.jexl.pa rser.ASTRe ference.ex ecute(ASTR eference.j ava:82)
at org.apache.commons.jexl.pa rser.ASTRe ference.va lue(ASTRef erence.jav a:56)
at org.apache.commons.jexl.pa rser.ASTRe ferenceExp ression.va lue(ASTRef erenceExpr ession.jav a:50)
at org.apache.commons.jexl.Ex pressionIm pl.evaluat e(Expressi onImpl.jav a:79)
at net.sf.jxls.parser.Express ion.evalua te(Express ion.java:6 9)
at net.sf.jxls.tag.ForEachTag .parseItem sProperty( ForEachTag .java:135)
at net.sf.jxls.tag.ForEachTag
at net.sf.jxls.tag.ForEachTag
at net.sf.jxls.parser.CellPar
at net.sf.jxls.parser.CellPar
at net.sf.jxls.parser.CellPar
at net.sf.jxls.transformer.Sh
at net.sf.jxls.transformer.Sh
at net.sf.jxls.transformer.Sh
at net.sf.jxls.transformer.XL
at net.sf.jxls.transformer.XL
at net.sf.jxls.transformer.XL
at net.sf.jxls.sample.Reporti
Caused by: java.sql.SQLException: Column 'name' not found.
at com.mysql.jdbc.SQLError.cr
at com.mysql.jdbc.SQLError.cr
at com.mysql.jdbc.SQLError.cr
at com.mysql.jdbc.ResultSetIm
at com.mysql.jdbc.ResultSetIm
at org.apache.commons.beanuti
at org.apache.commons.beanuti
at org.apache.commons.beanuti
at org.apache.commons.beanuti
at net.sf.jxls.report.ReportM
at sun.reflect.NativeMethodAc
at sun.reflect.NativeMethodAc
at sun.reflect.DelegatingMeth
at java.lang.reflect.Method.i
at org.apache.commons.jexl.ut
at org.apache.commons.jexl.pa
at org.apache.commons.jexl.pa
at org.apache.commons.jexl.pa
at org.apache.commons.jexl.pa
at org.apache.commons.jexl.Ex
at net.sf.jxls.parser.Express
at net.sf.jxls.tag.ForEachTag
appears you are try to use a column name that does not exist
Try
rm.exec('SELECT d.name depname, e.name empname, e.payment payment, e.bonus bonus, e.age age FROM employee e, department d where d.id = e.depid order by age desc')
You might be able to simplify that to
rm.exec('SELECT d.name depname, e.name empname, e.payment, e.bonus FROM employee e, department d where d.id = e.depid order by e.age desc')
ASKER
error remain same inspite of changing query .
Please post your current code
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
alias name problems