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

Langage SQL Discussion :

Probleme de requete pour remplir les champs d'une table


Sujet :

Langage SQL

  1. #1
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut Probleme de requete pour remplir les champs d'une table
    encore un probleme ! je suis un peu a la rue en ce moment mais bon, je m'appui sur vous !

    voila mon probleme je souhaite remplir les champs de la table X cependant lors de l'execution de mon code perl j'obtient le rangement des valeurs a la facon "matrice identité", soit :

    Champs 1_____Champs 2 ______Champs 3

    Valeur 1__________0_____________ 0

    ___0__________Valeur 2___________0

    ___0_____________0___________Valeur 3

    mon code est en gros le suivant (du perl):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    for(my $i_r = 1 ; $i_r <= ($Number_of_Rows) ; $i_r++)  
    {
    	for(my $i_c= 0 ; $i_c < $Number_of_Columns ; $i_c++) 
    	{
    	    my $insert_anomaly = qq{INSERT INTO Anomaly($Title_Column[$i_c])  VALUES ("$Cell_Value[$i_r][$i_c]") };
    		$dbh->do( $insert_anomaly );
    	}
    }
    j'ai donc trouver que cela venait de INSERT INTO ....... VALUES....... qui en fait remplit une ligne puis passe a une suivante!

    Je cherche donc un moyen de rentrer toutes une ligne de mon tableau dans tout les champs correspondants(je ne sais pas a l'avance le nombre de champs car c'est dynamique).

    suis je clair??

  2. #2
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    attention tu vas te faire taper sur les doigts en mettant du PERL sur le forum SQL .

    Ne connaissant pas PERL je dirai que le problème se situe au niveau des boucles au la variable "$Title_Column[$i_c]" ne doit contenir qu'un parametre à la fois et faire autant d'insert qu'il y a de valeur à insérer.

    Je ne sais pas si cela va t'aider

  3. #3
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    oui mais le probleme pour moi se situe dans la requete SQL d'ou le forum SQL et comme il y a du perl et du SQL fallait que je choisisse un des 2! !

    sinon merci pour ta reponse!

  4. #4
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par Jim_Nastiq
    oui mais le probleme pour moi se situe dans la requete SQL d'ou le forum SQL et comme il y a du perl et du SQL fallait que je choisisse un des 2! !

    sinon merci pour ta reponse!
    Non, ce n'est pas une "excuse", il faut savoir découper les problèmes !
    Ici, c'est la manière de contruire ta requête qui est mauvaise, c'est donc un problème de Perl.

    une requête INSERT a cet aspect là (sur une table à 3 champs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO maTable (Champ1, Champ2, Champ3) VALUES (Val1, Val2, Val3);
    Et toi tu fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO maTable (Champ1) VALUES (Val1);
    INSERT INTO maTable (Champ2) VALUES (Val2);
    INSERT INTO maTable (Champ3) VALUES (Val3);
    La solution pour résoudre ton problèmes est de construire correctement ton INSERT : chaque INSERT créera une ligne dans ta BDD, et ça, tu ne pourras rien y changer.
    C'est de la concaténation, pour y arriver, il te faut juste savoir manipuler les chaînes de caractères en PERL, mais ce n'est plus du SQL ...

  5. #5
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    j'ai utilisé la requete suivante a la place de la precedente :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE Anomaly SET $Title_Column[$i_c] = "$Cell_Value[$i_r][$i_c]"
    Mais en fait ca ne fonctionne pas car les champs restes tous vides! je suppose que c'est du au fait que la base etait vide auparavant et un update d'une valeur null est impossible ! si quelqu' un a une idée...je l'en remercie

  6. #6
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Quand on fait un UPDATE, il faut préciser sur quels enregistrements on le fait ! Si tu n'a pas de clé primaire ou d'index unique dans ta table, oubli le passage par un UPDATE, c'est d'ailleurs pour ça que je ne te l'avais pas proposé ci-dessus !

    La pratique, c'est très bien, quand c'est accompagné d'un minimum de formation.

    Merci d'aller jeter un oeil sur http://sql.developpez.com/
    Il y a plein de ressources, en particulier http://sql.developpez.com/sqlaz/dml/

  7. #7
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    ok je te remercie de ton aide mais comme je debute il est difficile de cibler mes erreurs tres precisement! j'en suis désolé!

  8. #8
    Xo
    Xo est déconnecté
    Expert confirmé
    Avatar de Xo
    Inscrit en
    Janvier 2005
    Messages
    2 701
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 701
    Points : 4 238
    Points
    4 238
    Par défaut
    Citation Envoyé par Jim_Nastiq
    ... mais comme je debute il est difficile de cibler mes erreurs tres precisement
    J'ai bien vu, c'est pourquoi je me suis permis de te conseiller quelques lectures

Discussions similaires

  1. Commande automatiques pour remplir des champs d'une table
    Par Agent_mure_blanche dans le forum Access
    Réponses: 1
    Dernier message: 22/09/2013, 16h47
  2. [AC-2007] Remplir les champs d'une table
    Par chargeur123 dans le forum Access
    Réponses: 4
    Dernier message: 06/01/2012, 17h24
  3. [C#] Utilisation d'un WebBrowser pour remplir les champs d'une page
    Par nicosaliagos dans le forum Windows Forms
    Réponses: 10
    Dernier message: 29/05/2010, 12h25
  4. Probleme pour creer les champs d'une table OleADO
    Par blondelle dans le forum C++Builder
    Réponses: 13
    Dernier message: 27/03/2007, 12h09
  5. Réponses: 8
    Dernier message: 29/06/2006, 15h37

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