Non seulement on peut rendre les objets de ResultSet défilables dans JDBC 2.0, mais on peut aussi les rendre actualisables. Dès que l'on a atteint un ResultSet, de nombreuses nouvelles fonctions permettent d'actualiser ou de mettre à jour une ligne. L'exemple de la figure 3 crée une table et ajoute
Des ResultSets actualisables
des données. Il crée
ensuite un ResultSet et met à jour les valeurs dans la colonne COL1 en ajoutant
1 à chaque valeur et modifie les valeurs dans la colonne COL2 en leur donnant
la valeur en cours plus le suffixe » said « .
On notera également les nouvelles méthodes updateInt et updateString. Il existe
des méthodes updateXxx correspondantes pour toutes les méthodes getXxx. Le premier
paramètre de la méthode updateInt(int, int), par exemple, est l’index de colonne.
Comme la méthode getInt(int), l’index de colonne est par défaut 1. Le second paramètre
est la nouvelle valeur. Il y a aussi les méthodes getXxx (chaîne) et updateXxx
(chaîne, type) qui utilisent un nom de colonne comme premier argument.
De plus, la méthode updateRow est appelée après que les modifications ont été
effectuées. Il est important de comprendre que updateInt, updateString et toutes
les autres méthodes ne modifient pas le contenu de la base de données. Elles modifient
simplement une mémoire-tampon qui représente la ligne. Ce n’est qu’au moment où
updateRow est appelé que la ligne est modifiée dans la base de données.
On peut appeler les méthodes cancelRowUpdates ou refreshRow pour effacer les modifications
proposées dans la mémoire-tampon. On peut obtenir la même chose en allant simplement
sur une nouvelle ligne. Quand on quitte la ligne courante, les éventuelles valeurs
updateXxx pour lesquelles updateRow n’a pas été appelé, sont perdues. Il existe
aussi la méthode deleteRow qui supprime la ligne courante de la base de données
et du ResultSet.
En plus d’une mémoire-tampon pour les mises à jour des lignes, il en existe une
pour les insertions de lignes. Pendant qu’on travaille avec un objet ResultSet,
on peut aller sur cette ligne insert, définir les valeurs souhaitées et insérer
la ligne dans la base de données. L’exemple de code suivant montre comment procéder
:
Statement stmt = con.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery(
« SELECT * FROM TABLEX »);
rs.moveToInsertRow();
rs.updateInt(1, 0);
rs.updateString(2, « CUJO »);
rs.insertRow();
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Cybersécurité Active Directory et les attaques de nouvelle génération
- Afficher les icônes cachées dans la barre de notification
- Activer la mise en veille prolongée dans Windows 10
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Adapter la sécurité OT aux réalités de l’industrie
- Les applications financières sont le terrain privilégié de la fraude
- Compromission des identités numériques : la panne invisible qui met les entreprises à l’arrêt
- Tendances Supply Chain : investir dans la technologie pour répondre aux nouvelles attentes clients
Articles les + lus
DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
Adapter la sécurité OT aux réalités de l’industrie
Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
Analyse Patch Tuesday Mars 2026
À la une de la chaîne Tech
- DevX Summit EMEA : les développeurs au cœur de la révolution de l’IA
- Adapter la sécurité OT aux réalités de l’industrie
- Coder vite, mais coder juste : trouver l’équilibre à l’ère de l’IA
- Mixité dans la Tech : en 2026, un choix de souveraineté stratégique
- Analyse Patch Tuesday Mars 2026
