JDBC / java.sql.SQLException

Résolu
jojo6666 Messages postés 10 Date d'inscription mardi 13 juillet 2004 Statut Membre Dernière intervention 17 janvier 2005 - 19 août 2004 à 14:14
cs_limalima Messages postés 124 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 16 décembre 2010 - 25 août 2009 à 06:01
Bonjour,

J'aimerais avec une requête SQL à l'intérieur d'une appli java insérer un enregistrement dans une table et savoir si la mise à jour a été faite ou non.

Le problème, c'est que quand on formule une requête autre qu'1 "Select", on lève une exception de type java.sql.SQLException et que si aucune contrainte d'intégrité n'existe l'ajout, la modif ou la suppression s'effectue.

Mais, dans le cas inverse, comment savoir que l'opération demandée ne s'est pas faite puisqu'il s'agit également exception de type java.sql.SQLException ? Comment intercepter l'erreur suivante ou tout autre d'ailleurs ?

java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Conflit entre l'instruction INSERT et la contrainte...

Merci de toutes vos contributions à ma quête d'éclaircissement.
A voir également:

2 réponses

userman Messages postés 9 Date d'inscription mardi 20 août 2002 Statut Membre Dernière intervention 24 août 2004 1
19 août 2004 à 14:55
Salut,

Pour faire une mise à jour de la table tu utilise la methode executeUpdate de l' interface Statement. Celle ci te reoturne le nombre de ligne mise a jour. Ce qui te permet de savoir si ta ligne est ajouter pour le cas d'un insert, ou combien de lignes ont été mise a jour avec un update.
Si la requete est mal construite la méthode vas lever une execption de type jva.sql.SQLException. Pour connaitre l'erreur tu peut utiliser :

try{
rq.executeUpdate(requete);
catch(java.sql.SQLException sql){
sql.printStackTrace();
}

printStackTrace() te donnera l'erreur exacte de la requete.

Mais si la requete est bien construite (pas d'erreur de grammaire, ni erreur de contrainte) auncune exception ne sera lever.

Userman
2
Rejoignez-nous