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

Requêtes MySQL Discussion :

insert into et la clé étrangère


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 18
    Points : 16
    Points
    16
    Par défaut insert into et la clé étrangère
    Bonjour

    J'ai un problème de requête SQL:

    Par exemple, j'ai 2 tables dans la base produit(num, nom,idCatégorie#)
    et catégorie(idCatégorie, libellé_catégorie).
    Dans l'interface graphique, j'ai un jTable et un bouton "ajouter" qui va insérer les données de jTable dans la table produit. Les colonnes de jTable sont : NumProduit, NomProduit, CatégorieProduit.

    Le problème, c'est que, dans la colonne CatégorieProduit, je dois saisir le libellé de la Catégorie du produit. Mais dans la base, la table produit ne contient pas libellé produit, il contient IdCatégorie

    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
    16
    17
    18
    19
    20
    21
    //récuperer le champs catégorieProduit
    int a=jTable1.getSelectedRow();
     
           Object CatPro=jTable1.getModel().getValueAt(a,0);
             System.out.println("la valeur de '"+a+" et 0' ="+CatPro);
    //pour la base de données
     try{
     
          Class.forName("com.mysql.jdbc.Driver");
          Connection con=null;
          con =       (Connection) DriverManager.getConnection( "jdbc:mysql://localhost:3306/mabase?user=root&password=");
          Statement st=(Statement) con.createStatement();
     
          ResultSet rs = st.executeQuery("SELECT idCatégorie from  catégorie WHERE Libellé_Catégorie = "+CatPro);
     
           st.executeUpdate("insert into Produit values('"+num+"','"+nom+"','"+CatPro+"')");
     
           }catch(Exception e)
               {System.out.println(e.toString());
                System.out.println("EXCEPTION !!!!");
                 }
    Une exception est déclenchée :

    la valeur de '0 et 2' = Catégorie X1

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'catégorie X1' in 'where clause'

    BUILD SUCCESSFUL (total time: 4 minutes 16 seconds)

    Donc je n'arrive pas à insérer les données saisies

    un coup de main SVP

    Merci d'avance

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 015
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 015
    Points : 23 704
    Points
    23 704
    Par défaut
    Bonjour,

    La question est de savoir si l'utilisateur est autorisé à créer une catégorie par le biais de cette jTable ou pas. Si ce n'est pas le cas, il ne faut peut-être pas laisser en saisie libre libellé de la catégorie, mais plutôt utiliser une combo.
    A chaque libellé de la combo, tu associes alors le code correspondant en base et, dans l'insertion, tu mets le code, et non le libellé.

    Ca, c'est pour le principe. Techniquement, pour savoir comment faire, il faut poser la question sur un forum Java.

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

Discussions similaires

  1. Requête insert into et les clés étrangères
    Par tix116 dans le forum Développement
    Réponses: 17
    Dernier message: 21/03/2011, 10h56
  2. Réponses: 5
    Dernier message: 19/10/2006, 14h28
  3. probleme d'INSERT INTO et JavaScript
    Par Matlight dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/03/2004, 15h36
  4. erreur SQL ...INSERT INTO
    Par naidinp dans le forum ASP
    Réponses: 20
    Dernier message: 18/09/2003, 11h38
  5. Insert Into + Date
    Par BoeufBrocoli dans le forum SQL
    Réponses: 10
    Dernier message: 13/08/2003, 11h23

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