begin process at 2010 02 10 08:59:59
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

JDBC

 > 

JDBC / java.sql.SQLException


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

JDBC / java.sql.SQLException

jeudi 19 août 2004 à 14:14:12 | JDBC / java.sql.SQLException

jojo6666

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.

jeudi 19 août 2004 à 14:55:09 | Re : JDBC / java.sql.SQLException

userman

Réponse acceptée !
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
mardi 25 août 2009 à 06:01:30 | Re : JDBC / java.sql.SQLException

limalima

Salut,
j un code qui permet une mise à jour,

import java.sql.*;
//on cheche un enregistrement et le mettre à jour
//le résulta sera:

//ID_EMP = 2| NOME =emp2| DEPT=1
//ID_EMP = 5| NOME =Nouvel employe| DEPT=1
//ID_EMP = 7| NOME =Nouvel employe| DEPT=1
//énumération après mise à jour
//ID_EMP = 2| NOME =emp2| DEPT=1
//ID_EMP = 5| NOME =Nouvel employe| DEPT=1
//ID_EMP = 7| NOME =Nom mis à jour| DEPT=4
//BUILD SUCCESSFUL (total time: 0 seconds)


public class SCROLL{


public static void main(String[] args)throws ClassNotFoundException,SQLException{
Class.forName("com.mysql.jdbc.Driver");//le driver
String url ="jdbc:mysql://localhost/test";
Connection cnx =DriverManager.getConnection(url, "root","root");//utlisateur:root,password:root
Statement st = cnx.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);

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");


while(rs.next())

{
System.out.println("ID_EMP = " +rs.getInt(1)+"| NOME =" +rs.getString(2)+"| DEPT="+
rs.getInt(3));
}
rs.close();
cnx.close();
}//fin main



Cette discussion est classée dans : java, sql, requête, sqlexception, jdbc


Répondre à ce message

Sujets en rapport avec ce message

Conexion SQL server => createSQLException [ par GGM ] Hello everybody people !!Je débute dans la programmation et G un ptit pb quand je veux me connecter à ma base sql il me retroune une jolie erreur "cre Problème de connexion [ par noname85 ] Salut à tous ! Impossible de me connecter à ma base de données, aiez-moi SVP !! # database.properties jdbc.schema=SCHEMA jdbc.url=jdbc:oracle:thin:@ java.sql.SQLException:[Microsoft][Gestionnaire de pilote ODBC]Etat de curseur non valide [ par Adel85 ] Salut,Mon programme Java lors de son execution me signale cette erreur:"java.sql.SQLException:[Microsoft][Gestionnaire de pilote ODBC]Etat de curseur connection SQL serveur 2000 [ par chris2937 ] Bonjour,Je voudrais savoir explicitement comment se connecter a une base de données SQL Serveur 2000 en java. J'ai deja lu plein de forum tous avec de se connecter à mysql via jdbc [ par jijilim ] salut .. je vous remercie d'avance..  je développe une application j2EE 3 tiers.. et maintenant je suis entraine de tester un simple classe pourse con sql et java [ par limalima ] Bonjour à tous, dans un programme java, j'essai de faire un insert dans ma base de données, j'ai un message d'erreur que je ne comprends pas: [color= hibernate oracle 10g [ par kawtarinpt ] bonjourlors de la connexion de ma base de données Oracle (10g) à l'application de gestion des hotels en utilisant l'outil hibernate, j'ai eu des probl arraylist base de donnée [ par zedtimi ] bonjour tout le mondejai etabli une connection avec une base de donnée et maitenant je veut utiliser une arraylist ou un tableau pour sauvgardé mes do Connexion a une base de données [ par nisrine9 ] bonjour j ai une base données "SMS" , j ai fais le code qui me permet de me connecter a ma base sous myEclipse. avant il marchait tres bien mais depui


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales