Manquant ou paramètre de SORTIE au niveau de l'index:: 1 erreur en Java, Oracle
Salut j'ai codé un Système de Gestion de Bibliothèque en JSF 2.2 avec l'aide de Netbeans 8.0.2 et Oracle 11g Express Edition. J'ai plusieurs pages nommé Livres, les Emprunteurs etc. et quelques tables nommées même dans la base de données. Mon problème est le suivant: dans les Emprunteurs de l'écran carnet d'id sont affichés. Mais je tiens à le livre des titres qui ont le même id. Voici mon code.
public List<Borrower> getBorrowers()throws ClassNotFoundException,SQLException, InstantiationException, IllegalAccessException{
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:XE","Alparslan-PC","123456");
ps=con.prepareStatement("SELECT * FROM BORROWER");
BookidPs = con.prepareStatement("SELECT TITLE FROM BOOK AND BORROWER WHERE ISBN=?");
ResultSet rs=ps.executeQuery();
ResultSet Rs2=BookidPs.executeQuery();
List<Borrower> liste = new ArrayList<Borrower>();
while(rs.next()){
Borrower borrow = new Borrower();
borrow.setId(rs.getBigDecimal("ID"));
borrow.setName(rs.getString("NAME"));
borrow.setSurname(rs.getString("SURNAME"));
borrow.setAddress(rs.getString("ADDRESS"));
borrow.setPhonenumber(rs.getString("PHONENUMBER"));
borrow.setBorrowdate(rs.getString("BORROWDATE"));
//book.setIsbn(rs.getString("BOOKID"))
borrow.setBookid(Rs2.getString("BOOKID"));
//borrow.setBookid(((Book) rs.getObject("BOOKID")).getIsbn());
liste.add(borrow);
}
System.out.print(liste);
return liste;
}
si la ligne 22 changé avec l'emprunter.setBookid(rs.getString("BOOKID")); Le bookids sont affichés. J'ai écrit un autre requête nommée BookidPs. si j'exécute ce programme, j'obtiens Manquant ou paramètre de SORTIE au niveau de l'index:: 1 erreur. Si vous aider, je vais appretiate. Grâce
OriginalL'auteur Alp | 2014-12-07
Vous devez vous connecter pour publier un commentaire.
La "Manquant ou paramètre de SORTIE" dans le message d'erreur est le
?
dans la requête:Vous n'avez pas à fournir une valeur pour elle. Essayez comme ceci:
La requête a besoin d'un ISBN paramètre, mais je ne vois pas où vous avez une telle variable dans votre code.
Pour utiliser cette requête, vous devez fournir les paramètres manquants. En fait, il semble que cette deuxième requête n'est pas utile pour vous, à tous. Étant donné le code, je ne vois pas pourquoi vous voulez utiliser cette requête au lieu d'obtenir la valeur de
rs
.Mais en fait, même avec ce paramètre remplies, la requête n'est pas valide SQL.
Je pense que vous voulez probablement juste une requête, une JOINTURE.
Votre deuxième question semble essayez de sélectionner le TITRE à partir de la table des livres.
Alors peut-être que vous voulez que cette requête, sans paramètres:
?=?
est incorrect. Les noms de colonne ne peut pas être paramétré de cette façon. Vous pouvez utiliser?
seulement dans le côté droit expressions.Parce que je veux montrer Livre les noms sont empruntés dans les Emprunteurs de l'écran. J'ai essayé BookidPs = con.prepareStatement("SELECT TITRE DU LIVRE ET l'EMPRUNTEUR OÙ ISBN=?"); BookidPs.setString(1, bookid); même erreur avec la précédente.
Dans le Livre de la table il y a des noms de livre et dans Emprunteur table, il y a le livre id s qui sont recherchées. Je veux atteindre ISBN s afin de réserver les noms avec l'aide de Livre id dans Emprunteur table. Maintenant, je ne peux montrer bookid dans les emprunteurs de l'écran.
Merci j'ai vu. Cela a aidé, c'est la vraie déclaration, mais maintenant, je dois ajouter le résultat de la requête à l'élément de liste nommée liste. Il caries les valeurs imprimées à vue, vous savez. Comment puis-je l'ajouter à la liste
OriginalL'auteur janos