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 :

pb insertion dans BDB


Sujet :

JDBC Java

  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut pb insertion dans BDB
    bonjour je n arrive pas a introduire de nouvelles valeurs dans ma bdb pour afficher le contenu de la base aucun probleme mais pour inserer il me dit: Column count doesn't match value count at row 1

    voici mon code
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    package sql;
    import java.sql.*;
     
     
        class testsql
        {
     
        public static void main(String[] args)
        {
     
        //Nom de mon pilote
        String pilote = "com.mysql.jdbc.Driver";//"sun.jdbc.odbc.JdbcOdbcDriver";
     
        try
       {
     
        //Chargement de mon pilote
        Class.forName(pilote);
     
        //Connexion à ma base mysql avec mon login et mot de passe(ici mot de passe vide)
        Connection connexion = DriverManager.getConnection("jdbc:mysql://localhost/tableau","root","");
     
        //Création de mon statement qui va me permettre d'executer mes requetes
        Statement instruction = connexion.createStatement();
     
        //Ma table s'appelle dynes et tout ce qui reste dépend d'elle
        ResultSet resultat = instruction.executeQuery("SELECT * FROM dynes");
     
        //voici maintenant mes colonnes
        while(resultat.next())
        {
        System.out.println("---------------------------");
        //System.out.println("n°: "+resultat.getInt("n°"));
        System.out.println("fields: "+resultat.getString("fields"));
        System.out.println("IP: "+resultat.getString("IP adress"));
        System.out.println("MAC adress: "+resultat.getString("MAC adress"));
        System.out.println("OS running: "+resultat.getString("OS running"));
        System.out.println("product type: "+resultat.getString("product type"));
        System.out.println("service pack: "+resultat.getString("service pack"));
        System.out.println("processors: "+resultat.getString("processors"));
        System.out.println("processor type: "+resultat.getString("processor type"));
        System.out.println("processor speed:  "+resultat.getString("processor speed"));
        System.out.println("physical memory: "+resultat.getString("physical memory"));
        }
     
     
     
        //  On exécute une seconde transaction qui consiste à ajouter un élément
        //  dans la base grâce à INSERT.
     
        instruction.executeUpdate ("insert into dynes( fields, IP_adress, MAC_adress, OS_running, product_type, service_pack, processors, processor_type, processor_speed, physical_memory) values('win','199.236.25.236','00.32.23.23','2','salut''salut','salut','rerzerz','rezazera','lala')");
     
        //  Pour vérifier que l'insertion a marché, on recommence la première
        //  transaction de sélection.
     
            resultat = instruction.executeQuery("SELECT * FROM dynes");
     
             System.out.println("\n"+"Après l'insertion !");
     
            while(resultat.next())
            {
            	 	System.out.println("---------------------------");
            	 	System.out.println("fields: "+resultat.getString("fields"));
            	    System.out.println("IP: "+resultat.getString("IP adress"));
            	    System.out.println("MAC adress: "+resultat.getString("MAC adress"));
            	    System.out.println("OS running: "+resultat.getString("OS running"));
            	    System.out.println("product type: "+resultat.getString("product type"));
            	    System.out.println("service pack: "+resultat.getString("service pack"));
            	    System.out.println("processors: "+resultat.getString("processors"));
            	    System.out.println("processor type: "+resultat.getString("processor type"));
            	    System.out.println("processor speed:  "+resultat.getString("processor speed"));
            	    System.out.println("physical memory: "+resultat.getString("physical memory"));
            }
             connexion.close();
       	}
        catch (Exception e)
        {
        System.out.println("echec pilote : "+e);
        }
     
        }
       }

    si vous avez une idee n hesitez pas merci

  2. #2
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Il te manque une , entre 2 salut

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    ok j ai rajouté la virgule maintenant c est le nom de mes champs qu il n aime pas si je mets IP_adress il me dit qu il n existe pas ce qui est vrai et si je mets IP adress il me dita ceci
    Erreur de syntaxe près de 'adress, MAC adress, OS running, product type, service pack, proc' à la ligne 1

    je ne vois pas
    merci pour l aide

  4. #4
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Tu peux peut être mettre les noms de tes colonned entre quotes

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    maintenant il me met ceci
    Erreur de syntaxe près de ''fields', 'IP adress', 'MAC adress', 'OS running', 'product type' à la ligne 1

  6. #6
    in
    in est déconnecté
    Membre Expert 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
    Par défaut
    tu devrais essayer ta requete direct en SQL pour la corriger ...

    moi sous toad j'ai "nombre de valeur incorrect". Tu n'a pas le meme nombre de champ dans la clause into et dans la clause values ...

  7. #7
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    non meme nombre de champs je ne vois plus du tout d ou ça peut venir

    merci du coup de pouce si vous avez d autres idees

    a bientot

  8. #8
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    ça fonctionnne mais il m affiche ceci
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    ---------------------------
    fields: win xp
    IP: 139.54.46.23
    MAC adress: 12.03.F6.54
    OS running: win xp
    product type: 1.23
    service pack: 3
    processors: 2
    processor type: intel pentium IV
    processor speed:  2.89
    physical memory: 512
    ---------------------------
    fields: win 2000
    IP: 199.236.25.236
    MAC adress: 00.32.23.23
    OS running: 2
    product type: salut
    service pack: salut
    processors: salut
    processor type: rerzerz
    processor speed:  rezazera
    physical memory: lala
    ---------------------------
    fields: win 2000
    IP: 199.236.25.236
    MAC adress: 00.32.23.23
    OS running: 2
    product type: salut
    service pack: salut
    processors: salut
    processor type: rerzerz
    processor speed:  rezazera
    physical memory: lala
     
    Après l'insertion !
    ---------------------------
    fields: win xp
    IP: 139.54.46.23
    MAC adress: 12.03.F6.54
    OS running: win xp
    product type: 1.23
    service pack: 3
    processors: 2
    processor type: intel pentium IV
    processor speed:  2.89
    physical memory: 512
    ---------------------------
    fields: win 2000
    IP: 199.236.25.236
    MAC adress: 00.32.23.23
    OS running: 2
    product type: salut
    service pack: salut
    processors: salut
    processor type: rerzerz
    processor speed:  rezazera
    physical memory: lala
    ---------------------------
    fields: win 2000
    IP: 199.236.25.236
    MAC adress: 00.32.23.23
    OS running: 2
    product type: salut
    service pack: salut
    processors: salut
    processor type: rerzerz
    processor speed:  rezazera
    physical memory: lala
    ---------------------------
    fields: win 2000
    IP: 199.236.25.236
    MAC adress: 00.32.23.23
    OS running: 2
    product type: salut
    service pack: salut
    processors: salut
    processor type: rerzerz
    processor speed:  rezazera
    physical memory: lala
    or je voulais juste l afficher une fois avant l insertion puis une fois apres ce qui est normal puisqu il insert a chaque fois que j execute mon prog merci de l aide que vous m avez apporté

  9. #9
    in
    in est déconnecté
    Membre Expert 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
    Par défaut
    [EDIT] Bon j'efface tout, j'avais pas vu ton message ...

    si tu as plusieurs lignes dans ta table c'est normal qu'il affiche plusieurs resultats ... je vois pas d'autre explication ...

  10. #10
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    non c est bon tout est ok deja j ai enlevé les quotes sur les noms des champs et mes parentheses n etaient pas bien equilibrées ça marche niquel merci

  11. #11
    Membre confirmé
    Inscrit en
    Janvier 2007
    Messages
    146
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 146
    Par défaut
    j ai sous la main un programme de scan reseau qui creer des fichier .csv (un peu comme xls)pour stocker ses resultats mais moi j aimerai ecrire les resultats dans une base sql.

    j ai deja fait un petit programme perso pour faire connection, insertion et recup de données mais je ne sais pas comment inserer mon programme perso dans le prog scan reseau

    j ai regarde ou les fichiers csv etaient cree et j ai remplacé par la connexion a la base sql et tout ce qui s en suit
    mais je ne sais pas si ça peut marcher comme ça juste en recuperant les valeurs qui devaient aller dans le csv

    si vous avez des conseils sachant que je debute en java je connais mieux le c++ mais la le prog est en java alors je n ai pas le choix en plus il n y pas de commentaires dans le prog scan reseau


    merci

  12. #12
    in
    in est déconnecté
    Membre Expert 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
    Par défaut
    j'ai rien compris ... c'est un autre sujet ?

    vu que je ne sais pas de quoi tu parles, je vais peut être répondre à côté ... pour insérer des données issues d'un fichier CSV il existe des outils comme SQLLoader faits exprès ...

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/06/2004, 12h47
  2. Insertion dans fichier texte + rapide que TStringList ?
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/02/2004, 11h34
  3. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34
  4. Insertion dans un fichier xml à partir d'un xsl
    Par alexandre54 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 21/03/2003, 09h45
  5. Insertion dans un fichier XML
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 4
    Dernier message: 27/02/2003, 17h16

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