IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

[débutant]probleme execution requete INSERT


Sujet :

JDBC Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 9
    Points
    9
    Par défaut [débutant]probleme execution requete INSERT
    Bonjour,

    j'ai une table commande dans ma table avec trois champs(réf_commande: clé primaire,date_commande,fournisseur) et je voudrais ajouter un enregistrement dans cette table mais je ne sais pas comment géré s'il y a déjà un enregistrement avec la même réf_commande car ca genere une exception car c'est la cle primaire."j'avais pensé à IF NOT EXIST(...)BEGIN...END mais je ne sais pas comment l'envoyé à la bd.
    Merci!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    public void insererCommande()
    {
    	PreparedStatement pStat;
    	String requete="INSERT INTO COMMANDE VALUES (?,?,?)";
    	try {
    		pStat=con.prepareStatement(requete);
    		pStat.setString(1,"com4");
    		java.sql.Date date;
    		date=java.sql.Date.valueOf("2006-08-30");
    		pStat.setDate(2, date);
    		pStat.setString(3, "fournisseur1");
    		int test=pStat.executeUpdate();
    		System.out.println(test);
    	} catch(SQLException e){System.out.println("erreur" + e);}
    }
    Fabszn : Rajout des balises codes

  2. #2
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    et bien le plus simple c'est juste de gérer l'exception. Ca sert à ça.

    Ton histoire de requete pour voir si la cléf est déjà présente : je pense que tu te compliques la tache. Mais bon, si tu veux vraiment le faire tu peux passer par une procédure stockée (voir callableStatement) ou même un trigger "before insert". Mais bon, il n'y a pas d'interet à le faire. Ca te fait des traitements en plus, et qui ne servent pas à grand chose au final.

    Tu peux aussi imaginer de stocker une list des clés déjà enregistrées dans ta table que tu maets à jour au fur et à mesure.

    Mais bon, je le redis, le plus simple est que tu attrappe l'exception et puis c'est tout. C'est vrai que le seul inconvénient est que l'exception levée n'est pas forcément due au fait que tu insert une clé déjà existante, ça peut être un autre problème ...

  3. #3
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    Y'a une solution simple mais qui coute une requête de plus :
    - faire un select juste avant avec ton identifiant. Si tu as déjà un résultat renvoyé, c'est que ca existe déjà

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme execution requete
    Par lesafir dans le forum ASP.NET
    Réponses: 3
    Dernier message: 15/06/2007, 11h29
  2. Probleme De Requete Insert
    Par bodysplash007 dans le forum Requêtes
    Réponses: 2
    Dernier message: 07/03/2007, 14h38
  3. Probleme de requete 'Insert Into'
    Par azerty53 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/05/2006, 14h33
  4. [MySQL] Problème exécution requête
    Par snaxisnake dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 08/05/2006, 16h00
  5. [VB.net] Probleme execution requete
    Par nico10gbb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/04/2006, 11h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo