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
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- L’IA transforme la modernisation IT en enjeu stratégique d’entreprise
- D’un centre de coûts à un centre de valeur : la transformation des centres de contact
- Utilities : la résilience des réseaux devient prioritaire face à la pression énergétique
Articles les + lus
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
À la une de la chaîne Tech
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
- Guide Ultime des Raccourcis Clavier Windows 11 pour les Professionnels IT
