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 :

l'index ne s'incrémente pas automatiquement


Sujet :

JDBC Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut l'index ne s'incrémente pas automatiquement
    Bonjour ,
    J'essai de réaliser une petite appli pour un projet.
    Le but est de pouvoir gérer des licences, j'ai donc réaliser une fenetre pour
    entrer une licence.(sous netbeans) quand on valide cette fenetre les données vont s'enregistrer dans une base .
    Je vous poste ci dessous la redéfinition de la méthode actionPerformed
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     private void valideLicenceActionPerformed(java.awt.event.ActionEvent evt) {                                              
            // TODO add your handling code here:
            JButton monBouton = (JButton)evt.getSource() ;
            if (valideLicence == monBouton)
            {
                System.out.println("Vous avez choisi de valider") ;
                // On va récupérer les JTextField
                String DateExpiration = dateExpiration.getText() ;
                String Nom = nom.getText() ;
                String Version = version.getText() ;
                String NumSerie = numSerie.getText() ;
     
     
                System.out.println("Vous avez entré les valeurs suivantes") ;
                System.out.println(DateExpiration+" "+Nom+""+Version);
                System.out.println(NumSerie);
                idLicence++;
     
                // Valeur de l'index
     
                System.out.println("L'idLicence vaut : ") ;
                System.out.println(idLicence) ;
     
                // Vérification des valeurs entrées
     
                // Inscription dans la base
                String requete="insert into licence values(idLicence,\"Nom\",\"Version\",\"NumSerie\",\"DateExpiration\")" ;
                TestBdd instance = new TestBdd() ;
                instance.consulterBdd(requete) ;
     
                // Confirmation
                System.out.println("La requete a été effectuée") ;
            }
        }
    Je précise que j'arrive à me connecter à la base à entrer des licences en ligne de commande.
    Mon premier problème est que idlicence ne s'incrémente pas automatiquement
    je suis obligé de le faire manuellement.
    Deuxième problème les données entrées dans le JTextField ne s'affichent pas dans ma table alors qu'en faisant un System.out.printltn je vois bien la valeur de la variable.

    Je vous remercie d'avance pour votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 43
    Points : 48
    Points
    48
    Par défaut
    Salut
    Il y a juste une petite erreur pas trop grave.

    replace ca
    String requete="insert into licence values(idLicence,\"Nom\",\"Version\",\"NumSerie\",\"DateExpiration\")" ;

    par
    String requete="insert into licence values(idLicence,\""+Nom+"\",\""+Version+"\",\""+NumSerie+"\",\""+DateExpiration+"\")" ;

    Tu n'a pas fais du php avant par hasard?
    En java attention l'operateur + permet de concatener 2 string.

    Sinon les noms de variables "doivent" toujours commencer par une minuscule (par convention, ce n'est pas ca qui plante le code mais c'est plus joli).

    SI tu a un champs AUTO_INCREMENT lance ta requete sans le champ en question.
    Genre insert into ... values(,"a","b","c") // le premier champs est auto increment

    Et voila j'espére t'avoir aidé

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    ça marche Merci beaucoup Amithral je galère dessus depuis deux jours.
    Mais est ce que tu peux m'expliquer :\""+Nom+"\",

    \ c'est pour l'échappement mais pourquoi 2 foix "

    Merci

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 43
    Points : 48
    Points
    48
    Par défaut
    Oui bien sur.
    L'opérateur + est l'opérateur de concaténation Java de String avec n'importe quel type primitif. C'est à dire que si

    String chaine = "Mon age est";
    String chaine2 = " ans";
    int age = 50;

    String result = chaine + age + chaine2;
    result contiendra la chaine "Mon age est 20 ans"

    Maintenant comme " est utilisé pour délémiter des chaines si tu veux l'utiliser à l'intérieur d'une chaine tu dois écrire \"

    Or dans une requete SQL on veut bel et bien envoyer des chaines qui contiennent des " c'est pour cela que l'on utilise le \";

    si String chaine = "\""+nom+"\"";
    System.out.println(chaine) affichera à l'écran "nom" et non pas nom

    En fait "\"" est une chaine (")
    nom est une chaine
    est "\"" est une chaine (")

    donc le tout concaténé on a bien "nom"

    J'espére que tu as compris

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 354
    Points : 134
    Points
    134
    Par défaut
    J'y vois un peu plus clair en tout cas Merci beaucoup Amithral à demain et bonne nuit je marque le post comme résolu et encore Merci

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

Discussions similaires

  1. index.jsp n'est pas accessible de façon automatique
    Par nicorama dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 04/02/2009, 21h50
  2. service windows qui ne demarre pas automatiquement
    Par youcef81 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 17/07/2006, 08h41
  3. [C#][Débutant] Datagrid, les colonnes ne se resizent pas automatiquement
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 1
    Dernier message: 02/05/2006, 08h08
  4. Le CD ne se lance pas automatiquement sous Win XP Familiale
    Par spopofes dans le forum Windows XP
    Réponses: 5
    Dernier message: 15/03/2006, 09h37
  5. [Composant] Le canvas ne se redessine pas automatiquement
    Par Rodrigue dans le forum C++Builder
    Réponses: 2
    Dernier message: 31/05/2004, 23h18

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