SQL
Par PlaceOweb le mercredi, septembre 20 2006, 00:19 - JAVA - Lien permanent
La gestion des requêtes SQL avec Java.
Explications française des JDBC http://jguillard.developpez.com/JDBC/1.html
Créer une instruction JDBC
Un objet Statement est ce que votre instruction SQL envoie vers le SGBD. Vous créerez simplement un objet Statement puis, l'exécuterez, lui fournissant la méthode d'exécution appropriée avec l'instruction SQL que vous voulez envoyer :
- Pour une instruction de sélection (SELECT), la méthode à utiliser est executeQuery.
- Pour les instructions visant à créer (INSERT) ou modifier (UPDATE) des tables, la méthode est executeUpdate.
Vous devez avoir l'instance d'une connexion active pour créer un objet Statement. Dans l'exemple suivant, nous utilisons notre objet Connection conn, pour créer l'objet Statement stmt :
Statement stmt = conn.createStatement();
Accéder aux valeurs d'un Result Set
Comment envoyer les requêtes et comment accéder à ce résultat. JDBC renvoie les résultats dans un objet ResultSet, donc, nous avons besoin de déclarer une instance de la class ResultSet pour contenir nos résultats. Le code qui suit déclare l'objet ResultSet rs et lui assigne le résultat de notre requête précédente :
ResultSet rs = stmt.executeQuery("SELECT col1,col2 FROM table");
Avec les PreparesStatement, c'est la méthode setString() qui se charge de doubler les caractères \ et ' et ajoute seule les cotes autour de ta chaîne.
Ainsi on peut backslasher les caractères spéciaux contenus dans les valeurs à injecter dans votre enregistrement sql.
PreparedStatement requete = conn.preparedStatement("UPDATE table SET col1 = ? , col2 = ? WHERE id = ?"); requete.setInt(1,23); requete.setString(2, "Valeur avec cote \" qui gênait avant et nécessitait le rajout manuel d'un backslash !"); requete.setInt(3,4512); requete.executeUpdate();
Explications francaise des Prepared statements, stored procedures, et transactions sur http://jguillard.developpez.com/JDBC/8.html