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

VB.NET Discussion :

Ajout de nombre dans une table ?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut Ajout de nombre dans une table ?
    Bonjour tout le monde, aujourd'hui j'ai un petit problème concernant mon programme.
    Je possède :
    Une base de données
    Je suis chez AlwaysData.net
    J'utilise Navicat Premium


    J'ai fais un système de "Jetons" sur mon programme (comme sur les jeux quoi) , jusque là, tout va bien, j'ai mis un bouton, quand on clique dessus , 50 Jetons s'ajoutent au compte et dans le champ "Jetons" donc pas de problème jusque là. Mais le problème c'est que quand on répète l'action, les jetons ne s'ajoutent pas ! Si je clique une première fois sur le bouton, il va y avoir écrit "50" dans le champ mais si je re clique, le 50 est remplacé par 50 , moi, j'aimerais que cela s'ajoute donc 50, 100, 150 etc etc ... J'ai bien entendu cherché mais bon il n'y avait pas grand chose sur internet
    Une partie du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Dim query As String
                query = "UPDATE lenomdemabdd.lenomdematable SET username='" & Form1.MaterialSingleLineTextField1.Text & "',Jetons='" & +"50" & "' WHERE username='" & Form1.MaterialSingleLineTextField1.Text & "'"
                command = New MySqlCommand(query, MySqlConnection)
                reader = command.ExecuteReader
                MsgBox("Vous avez ajouté les jetons")
                MySqlConnection.Clone()

    Form1.MaterialSingleLineTextField1.Text = On récupère le nom du compte pour pouvoir ajouter les jetons au bon compte (C'est une textbox)

    J'ai essayé de mettre +"50" mais ça na pas fonctionné ...
    Je sais pas si j'ai été assez clair, si je ne l'ai pas assez été , dites le.

    Merci, Cordialement.

  2. #2
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Salut,

    dans ton update tu écris "Jetons = 50" (une fois concaténé), du coup tu ne fais qu'assigner 50 à chaque fois.
    Ce que tu veux c'est ajouter 50 au nombre de jetons que tu as déjà, ce qui s'écrit logiquement :"Jetons = Jetons + 50".

    edit PS : à quoi sert l'update du champs username, qui ne change pas vu qu'il sert de critère de sélection ?

  3. #3
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Salut,

    dans ton update tu écris "Jetons = 50" (une fois concaténé), du coup tu ne fais qu'assigner 50 à chaque fois.
    Ce que tu veux c'est ajouter 50 au nombre de jetons que tu as déjà, ce qui s'écrit logiquement :"Jetons = Jetons + 50".

    edit PS : à quoi sert l'update du champs username, qui ne change pas vu qu'il sert de critère de sélection ?
    Merci d'avoir répondu jopopmk.

    Je comprend pas trop ce que tu me dis de faire..

    L'update du champs username permet d'attribuer les Jetons au compte qui est connecté, si je ne met pas d'update du champs username , les jetons vont être attribués à tout les compte de la base de données.

  4. #4
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Houla ! On part de loin ...

    Alors dans la requête que tu nous montres :
    - le nom de ta database est : lenomdemabdd
    - le nom de ta table est : lenomdematable
    - les champs mis à jours (derrière le SET) sont : username et Jetons
    - le critère de sélection (derrière le WHERE) est : username

    Donc Jetons est un champs, ce n'est pas le nom de ta table. Et tu mets à jours le champs username, indépendamment du critère de sélection, qui lui est derrière le WHERE, et qui est le seul à limiter le nombre d'enregistrements impactés par ton UPDATE.

    C'est la première fois que tu fais du SQL ?

  5. #5
    Membre confirmé Avatar de mathisdu42
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2013
    Messages
    168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2013
    Messages : 168
    Par défaut
    Citation Envoyé par jopopmk Voir le message
    Houla ! On part de loin ...

    Alors dans la requête que tu nous montres :
    - le nom de ta database est : lenomdemabdd
    - le nom de ta table est : lenomdematable
    - les champs mis à jours (derrière le SET) sont : username et Jetons
    - le critère de sélection (derrière le WHERE) est : username

    Donc Jetons est un champs, ce n'est pas le nom de ta table. Et tu mets à jours le champs username, indépendamment du critère de sélection, qui lui est derrière le WHERE, et qui est le seul à limiter le nombre d'enregistrements impactés par ton UPDATE.

    C'est la première fois que tu fais du SQL ?
    Oulaaaaa oui ! J'ai dis une énorme connerie ! Pardonne moi :o Oui tu as raison Jetons et username sont des champs !
    Et quand tu me disais de faire : "Jetons = Jetons + 50" je vois pas trop ou y placer..

  6. #6
    Membre Expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Par défaut
    Ta requête devrait ressembler à un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    query = "UPDATE lenomdemabdd.lenomdematable SET Jetons=Jetons+" & "50" & " WHERE username='" & Form1.MaterialSingleLineTextField1.Text & "'"
    Tu peux y voir que :
    - j'ai fait sauter l'update du username qui servait à rien,
    - j'ai fait un incrément de Jetons, et plus une simple assignation.
    - j'ai viré les simples-quotes autours de 50, le champs Jetons devant être un nombre (INT, NUMERIC ...) et non une chaîne (VARCHAR, TEXT ...).

    Par contre, pour être plus propre, je te conseille de passer par des requêtes paramétrées.

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

Discussions similaires

  1. ajouter un champ dans une table existant
    Par zidenne dans le forum Bases de données
    Réponses: 3
    Dernier message: 29/10/2005, 21h27
  2. Ajouter des CHAMPS dans une table via ASP
    Par hysteresis dans le forum Access
    Réponses: 1
    Dernier message: 27/09/2005, 15h39
  3. Réponses: 14
    Dernier message: 22/09/2005, 16h49
  4. [Débutant]Comment faire des tranches de nombre dans une tabl
    Par Jedecouvreaccess dans le forum Access
    Réponses: 7
    Dernier message: 05/09/2005, 08h46
  5. Ajouter un champs dans une table (Access 2000)
    Par Didier100 dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/10/2004, 13h02

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