SQLException:列名无效……?

我有一个JSP文件,我在Eclipse,Maven和Tomcat的帮助下在Java项目中部署。 我有一些其他几乎与此相同的JSP文件,尽管它们运行不同的操作。 无论如何,当我进入页面时,我已经给出了这个:

org.apache.jasper.JasperException: An exception occurred processing JSP page /entertime2.jsp at line 106 103: rsBug = psBug.executeQuery(); 104: 105: while(rsBug.next()) { 106: Bug b = new Bug(rsBug); 107: out.println("" + b.get(Bug.TITLE) + ""); 108: } 109: rsBug.close(); root cause javax.servlet.ServletException: java.sql.SQLException: Invalid column name ixPersonOpenedBy. 

Bug是一个自定义类,可以接收结果集 – rsBug – 并执行以下操作:

 setValue(Bug.BUG_ID,rs.getString(Bug.BUG_ID)); setValue(Bug.PERSON_OPENED_BY,rs.getString(Bug.PERSON_OPENED_BY)); setValue(Bug.PERSON_ASSIGNED_TO,rs.getString(Bug.PERSON_ASSIGNED_TO)); setValue(Bug.TITLE, rs.getString(Bug.TITLE)); setValue(Bug.PROJECT_ID,rs.getString(Bug.PROJECT_ID)); 

其中BUG_ID,PERSON_OPENED_BY,PERSON_ASSIGNED_TO,TITLE和PROJECT_ID都是Bug类的字符串成员,它们对应于存储在数据库中的Bug表中的列名。 现在,表中有一个ixPersonOpenedBy列,但它之前从未给我任何问题。 我不确定它是否与我尝试执行或不执行的SQL语句有任何关系,但我之前在其他JSP中使用了EXACT相同的语句,它没有给我任何麻烦。 此外,在项目的早期部署中没有弹出此错误。 我在一个不相关的变量中输入了一个拼写错误,一旦它被修复,这个人突然冒出来了。

无论如何,当我知道“应该”列有效时,有人能看出为什么会出现这个错误吗? 如果您需要查看更多JSP,Bug类或数据库中的Bug Table,请告诉我们; 任何帮助表示赞赏。

编辑:这是我正在使用的两个SQL语句,但我不确定是否导致问题。

 SELECT p.ixPerson, p.sFullName FROM Person p, jwTeamMembers t WHERE p.ixPerson = t.ixPerson ORDER BY p.sFullName ASC SELECT b.ixBug, b.sTitle FROM Bug b, Person per, Project p, Area a, jwTime t, jwTeamMembers m, jwTeam jt, Status s, jwDivision d WHERE per.ixPerson = t.ixPerson AND t.ixBug = b.ixBug AND b.ixProject = p.ixProject AND b.ixArea = a.ixArea AND per.ixPerson = m.ixPerson AND m.ixTeam = jt.ixTeam AND b.ixStatus = s.ixStatus AND a.ixDivision *= d.ixDivision AND (per.ixPerson = ?) GROUP BY b.ixBug, b.sTitle ORDER BY b.ixBug DESC 

第二个语句中的参数用以下内容填充:

 psBug.setInt(1, Integer.valueOf(personId).intValue()); 

java.sql.SQLException:无效的列名称ixPersonOpenedBy。

SELECT不返回上述列。

实际上,您的两个SELECT查询都没有指定该列。 相应地修复它。 例如

 SELECT b.ixBug, b.sTitle, b.ixPersonOpenedBy