jojo6666
Messages postés10Date d'inscriptionmardi 13 juillet 2004StatutMembreDernière intervention17 janvier 2005
-
19 août 2004 à 14:14
cs_limalima
Messages postés124Date d'inscriptiondimanche 31 août 2008StatutMembreDernière intervention16 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:
Echec de conversion dans la représentation interne
Index de colonne non valide - Meilleures réponses
Java.sql.sqlexception: before start of result set - Meilleures réponses
userman
Messages postés9Date d'inscriptionmardi 20 août 2002StatutMembreDernière intervention24 août 20041 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 :
ResultSet rs st.executeQuery("SELECT * FROM emp where dept 1");
while(rs.next()){ //je recupere tout le tableau
System.out.println("ID_EMP " + rs.getInt(1)+ " | NOME" + rs.getString(2)+" | DEPT=" +
rs.getInt(3));//colone 1,colone 2 qui est un string, colone 3
}
rs.absolute(3);//se positionner a la ligne 3
rs.updateString("NOME", "Nom mis à jour");//changer le nom de la ligne 3
rs.updateInt("DEPT",4);//changer le n de département
rs.updateRow();//mettre à jour la ligne
rs.beforeFirst();//revenir au début
System.out.println("énumération après mise à jour");