@WebMethod(operationName = "SearchOR")
java.sql.SQLException: Indice de paramètre hors de la plage (3> nombre de paramètres, ce qui est 2)
public SearchOR getSearchOR (@WebParam(name = "comp")
String comp, @WebParam(name = "name")
String name) {
//TODO write your implementation code here:
SearchOR ack = null;
try{
String simpleProc = "{ call getuser_info_or(?,?)}";
CallableStatement cs = con.prepareCall(simpleProc);
cs.setString(1, comp);
cs.setString(2, name);
**ResultSet rs = cs.executeQuery();**
while (rs.next()) {
ve.add(rs.getString(1));
ve.add(rs.getString(2));
}}catch (Exception e) {
e.printStackTrace();
System.out.print(e);
}
return ack;
}
Je reçois erreur à la partie i ai bold.It pointe à cet endroit .Mon Query est ici:
DELIMITER $$
DROP PROCEDURE IF EXISTS
.`getuser_info_or
$$
# MySQL retourne un jeu de résultats vide (ie zéro lignes) .`
CREATE PROCEDURE
.
getuser_info_or``
(
IN comp VARCHAR(100),
IN name VARCHAR(100),
OUT Login VARCHAR(100),
OUT email VARCHAR(100)
)
BEGIN
SELECT sLogin, sEmail
INTO Login, email
FROM ad_user
WHERE company = comp OR sName=name;
END $$
# MySQL returned an empty result set (i.e. zero rows).
DELIMITER ;
Merci .REMERCIE ur réponse ... Maintenant gwtting cette erreur idée ..any à ce sujet .. java.sql.SQLException: ResultSet provient de UPDATE. Pas de données. à com.mysql.jdbc.SQLError.createSQLException (SQLError.java:910) à com.mysql.jdbc.ResultSet.next (ResultSet.java:6450) à WS.TestDB.getSearchAnd (TestDB.java: 85) à WS.TestDB.main (TestDB.java:98) – sam
C'est parce que votre procédure ne crée pas un resultset. Vous devez obtenir les valeurs de la déclaration. J'ai mis à jour ma réponse. –
Salut très merci jessup aimerait poser plus de doutes.Si possible, pouvez-vous partager votre adresse e-mail ou IM comme ça quelque chose de sorte qu'il serait plus utile pour moi.Avoir beaucoup de doute ... :-( – sam