gpt4 book ai didi

java - SQLException : Invalid Column Name. ..?

转载 作者:行者123 更新时间:2023-11-29 08:12:19 27 4
gpt4 key购买 nike

我有一个 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("<option value='" + b.get(Bug.BUG_ID) + "'>" + b.get(Bug.TITLE) + "</option>");
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 之一中使用过完全相同的语句并且它没有给我带来任何麻烦。此外,此错误并未在项目的早期部署中出现。我在一个不相关的变量中有一个拼写错误,一旦它被修复,这个人就突然冒出来了。

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

编辑:这是我正在使用的两个 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: Invalid column name ixPersonOpenedBy.

SELECT 未返回提到的列。

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

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

关于java - SQLException : Invalid Column Name. ..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7392296/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com