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

WebDev Discussion :

Problème d'ajout WebDev 25 et MySQL


Sujet :

WebDev

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut Problème d'ajout WebDev 25 et MySQL
    Salut à tous, j'ai un problème d'ajout dans une table association d'une application php que je développe avec webdev 25 et MySql.

    Le problème est le suivant, je parcours la table TABLE_Personnel pour ajouter IDpatrouille et Matricule dans la table association patrouilles_personnels. Mais la fonction HAjoute(patrouilles_personnels) ajoute le premier élément de la table TABLE_Personnel et les suivants ne sont pas ajouter.

    1 - j'ai la structure de la base de données avec les fichiers ou tables suivantes:
    Nom : Structure BD.PNG
Affichages : 129
Taille : 19,3 Ko

    2 -
    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
         patrouille.datepatroulle= SAI_DatePatrouille
         patrouille.saisi_le = DateHeureSys()
         patrouille.saisi_par = "ZAM"
        HAjoute(patrouille)
        xIdpatrouille = patrouille.IDpatrouilles
        //
        POUR TOUTE LIGNE DE TABLE_Personnel
    		HRAZ(patrouilles_personnels)
    		patrouilles_personnels.IDpatrouille	= xIdpatrouille
    		patrouilles_personnels.Matricule	= TABLE_Personnel.COL_Matricule
    		HAjoute(patrouilles_personnels)
        FIN
        //
        POUR TOUTE LIGNE DE TABLE_Evenements
     
    		HRAZ(evenements_survenus)
    		evenements_survenus.evenements_survenus = TABLE_Evenements.COL_Evenements
    		evenements_survenus.heure_evenement = HeureVersChaîne(TABLE_Evenements.COL_Heure)+":00"
    		evenements_survenus.mesures_prises_evenement = TABLE_Evenements.COL_Mesure_prise
    		evenements_survenus.IDpatrouilles = xIdpatrouille
    		HAjoute(evenements_survenus)
    	FIN

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    Juste une question : as-tu mis un point d'arrêt avant ton HAjoute(patrouilles_personnels), pour voir ce que cela prend comme données ?

    Note : utilise les balises # pour le code.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  3. #3
    Membre émérite
    Femme Profil pro
    .
    Inscrit en
    Janvier 2012
    Messages
    998
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : .
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 998
    Points : 2 524
    Points
    2 524
    Par défaut
    TableSelectPlus()

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 805
    Points : 5 253
    Points
    5 253
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    C'est un pur hasard que ce soit le premier élément. En fait ton code ajoute le dernier élément auquel tu as eu accès, à savoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TABLE_Personnel.COL_Matricule
    car tu ne précise pas l'indice.
    Dans ton cas, il faut soit
    -ne pas préciser le nom du champ table e.g.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    POUR TOUTE LIGNE de TABLE_MaTable
         Affectation=COL_MaCol
    FIN
    -utiliser la syntaxe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    nNoLigne est entier
     
    POUR TOUTE LIGNE nNoLigne de TABLE_MaTable
         Affectation=TABLE_MaTable[nNoLigne].COL_MaCol
    FIN
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Citation Envoyé par frenchsting Voir le message
    Bonjour, je m'excuse d'abord pour le retard, mais j'ai mis un info(TABLE_Personnel.COL_Matricule) et chaque passage sur une ligne il affiche la bonne valeur. Je pense que le problème vient de la fonction HAjoute(patrouilles_personnels). Je n'ai pas encore fait un véritable projet avec MySQL comme BD et avec des fichiers/tables association/relation

    Citation Envoyé par Voroltinquo Voir le message
    Bonjour, le problème n'est pas dans l'affectation des valeurs, puisque avec un info(TABLE_Personnel.COL_Matricule), ça m'affiche les bonnes valeurs

  6. #6
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 197
    Points : 12 772
    Points
    12 772
    Par défaut
    Bonjour,
    Tu devrais tester le retour de hAjoute(), et le cas échéant afficher le message d'erreur qui va bien.
    Tu auras peut-être un début de piste.

    Pour moi il faut TOUJOURS tester le retour des fonctions h*.

    Tatayo.

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 52
    Points : 41
    Points
    41
    Par défaut
    Bonjour, je l'ai déjà fait avec ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SI HAjoute(patrouilles_personnels) ALORS
     
        info("succès")
     
    SINON
        info("pas de succès")
    FIN
    Résultats: il affiche d'abord "succès" après "pas de succès" quand il y a deux éléments dans la table. Donc il ajoute le premier mais pour le second il ne le fait pas. Je n'ai jamais eu ce problème depuis que je développe avec les produits PC Soft

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 197
    Points : 12 772
    Points
    12 772
    Par défaut
    Si tu ne regardes pas pourquoi hAjoute() échoue, tu ne risques pas de trouver l'origine du problème.
    Regardes par exemple ce que te renvoie hErreurInfo().
    Sinon à quoi bon intercepter l'erreur ?

    Tatayo.

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

Discussions similaires

  1. Problème d'ajout de mois
    Par auriolbeach dans le forum Access
    Réponses: 5
    Dernier message: 02/10/2005, 22h22
  2. Problème d'ajout d'imprimante sur LPT1
    Par arnaud_verlaine dans le forum Périphériques
    Réponses: 10
    Dernier message: 15/03/2005, 22h23
  3. Problème d'ajout multiples dans un BDD Access
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2004, 13h34
  4. Problème de création de table sous MySql
    Par ducamba dans le forum Requêtes
    Réponses: 2
    Dernier message: 21/06/2003, 09h59

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