2011-10-07 3 views
0

J'ai écrit du code qui devrait appeler la procédure MSSQL 2005 à partir de ma servlet. Le problème est que la procédure consiste à SÉLECTIONNER les données de la table, donc je veux obtenir ResultSet mais le résultat n'est jamais retourné :(J'ai testé la procédure avec une autre procédure et ça fonctionne, en plus, les privilèges de connexion client sont bloqués. problème de connexion, mais toujours le execute retourne faux :(MS SQL JDBC - SQLServerCallableStatement - execute() renvoie la valeur false

est ici le code de problème (connexion en cours est connecté j'ai vérifié):

... 
    SQLServerCallableStatement callableStatement = null; 
    callableStatement = (SQLServerCallableStatement) connection.prepareCall(
         "{call "+ 
         DATABASE_NAME+ 
         "."+ 
         SCHEMA_NAME+ 
         ".select_item_proc(?,?,?)}"); 

         callableStatement.setInt(1, 0); 
       callableStatement.setString(2, "value1"); 
       callableStatement.setString(3, "value2"); 

      boolean rs=callableStatement.execute(); 

      if(rs) 
      { 
      ResultSet result=callableStatement.getResultSet(); 




       while (result.next()) { 

        String col1= result.getString(1); 
        String col2=result.getString(2); 
        System.out.print(col1+","); 
        System.out.println(col2); 


       } 


} 
... 

donc j'ai besoin de votre vue frais que le problème peut vraiment être tout? un commentaire utile est apprécié

Répondre

2

Veuillez utiliser ResultSet rs = callableStatement.executeQuery(); au lieu de la ligne boolean rs=callableStatement.execute();.

+0

Merci ... En fait le problème était aussi dans les valeurs params mais executeQuery() m'a aidé – user592704

Questions connexes