SQLException: Nom De Colonne Non Valide...?

J'ai un fichier JSP qui je suis déploiement au sein d'un Projet Java avec l'aide d'Eclipse, Maven, et Tomcat. J'ai quelques autres fichiers JSP presque identique à celui-ci, bien qu'ils exécuter différentes opérations. De toute façon, quand je vais sur la page, j'ai donné ce:

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 est une classe personnalisée qui peut prendre dans un jeu de résultats -- rsBug -- et effectue les opérations suivantes:

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));

Où BUG_ID, PERSON_OPENED_BY, PERSON_ASSIGNED_TO, le TITRE, et PROJECT_ID sont tous de la chaîne membres du Bug de classe qui correspondent aux noms de colonne dans le Bug table stockée dans la base de données. Maintenant, il y a un ixPersonOpenedBy colonne dans la table, mais il n'est jamais donné, à moi toute les problèmes avant. Je ne suis pas sûr s'il a quelque chose à voir avec l'instruction SQL j'essaie d'exécuter ou non, mais j'ai utilisé exactement la même déclaration devant l'un de mes autres JSP et il n'a pas donné, à moi de l'ennui. En outre, cette erreur n'était pas d'apparaître dans les plus tôt le déploiement du projet. J'ai eu une faute de frappe dans une autre variable, et une fois qu'il a été fixé, cet homme surgi outta nulle part.

De toute façon, n'importe qui peut voir pourquoi cette erreur sera donné quand je sais que la colonne "devrait" être valide? Si vous avez besoin de voir plus de la JSP, le Bug de la Classe, ou le Bug de la Table dans la base de données, faites le moi savoir; toute aide est appréciée.

EDIT: Voici les deux instructions SQL que j'utilise, mais je ne suis pas sûr si l'un et l'autre sont à l'origine du problème.

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

Le paramètre dans la deuxième déclaration est remplie:

psBug.setInt(1, Integer.valueOf(personId).intValue());
  • vous pouvez poster l'instruction SQL?
  • Une chose est sûre. J'ai ajouté les deux déclarations que j'utilise pour le post original.
  • Et préférable de l'instruction create table, et la valeur d'un Bug.PERSON_OPENED_BY.
  • Pourriez-vous ajouter ixPersonOpenedBy à votre première instruction select? Et de l'essayer 🙂
InformationsquelleAutor Kris Schouw | 2011-09-12