Problème JDBC ResultSet : exception "Avant le début de l'ensemble de résultats"
Lors de la tentative de récupération de données à partir d'un objet ResultSet, une erreur peut se produire indiquant "Avant le début du jeu de résultats." Cette erreur survient généralement en raison d'un problème de positionnement du curseur dans le ResultSet.
Dans l'extrait de code fourni, le ResultSet est positionné avant la première ligne à l'aide de result.beforeFirst(). Par la suite, une tentative est effectuée pour récupérer des données à l'aide de result.getString(1) sans d'abord déplacer le curseur vers une ligne valide.
Pour résoudre ce problème, le curseur doit être positionné sur la première ligne avant de tenter de récupérer données. Ceci peut être réalisé en utilisant les méthodes result.next() ou result.first().
Code corrigé :
ResultSet result = prep.executeQuery(); result.next(); // Move the cursor to the first row String foundType = result.getString(1);
Alternativement, si vous ne savez pas si le ResultSet contient des données, une instruction if peut être utilisée pour vérifier les données avant de tenter de déplacer le curseur :
if (result.next()) { String foundType = result.getString(1); }
Par en s'assurant que le curseur est positionné sur une ligne valide avant de récupérer les données, l'exception « Avant le début de l'ensemble de résultats » peut être évitée et les données peuvent être obtenues avec succès à partir du ResultSet.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!