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

MS SQL Server Discussion :

Problème base de données pour application C# de gestion de championnat


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut Problème base de données pour application C# de gestion de championnat
    Merci Pyrobolser tu m'as aidé voila j'ai ajouté une ligne vide pour chaque combox pour que l'index d'initialise à 1.

    Bonjour

    je développe une application de gestion de championnat, en fait je veux maintenant quand j'insère le résultat d'un tel match dans la table Match, il doit faire la mise à jour du classement automatiquement qui est dans la table Participer, c'est à dire le nombre des points s'incrémente avec le nombre des buts marqués enregistré dans la table Match, ainsi que le nombre des match jouées dans la table Participer. j'explique par la suite:

    j'ai une fenêtre pour enregistrer les matchs dans la table Match et autre pour les affecter dans la table Affecter, donnez moi svp le code necessaire, une procédure sql oubien des trigger, je ne suis pas un pro dans le sql mais je me débrouille .

    voila les tables:

    Match (id_match, equipe_dom, equipe_ext, score_dom, score_ext)

    Affecter (id_competition, num_saison, id_match, num_journee)

    Participer (nom_equipe, id_competition, num_saison, p, diff, j, v, n, d, bp, bc)


    merci d'avance

  2. #2
    Membre actif
    Homme Profil pro
    Developpeur
    Inscrit en
    Février 2013
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Developpeur

    Informations forums :
    Inscription : Février 2013
    Messages : 180
    Points : 271
    Points
    271
    Par défaut
    Bonjour,

    tu as deux solutions (1 seul pour ton cas, vu que t'es tables sont déjà créée)

    1 - t'as table résultat est en fait une "vue" avec des champs calculés, et à chaque fois que tu appelles t'as "vue"
    les valeurs contenues dedans sont automatiquement mis à jour
    L'avantage de cette solution, c'est que les données ne soit pas mis en double par contre plus tu as d'enregistrement plus c'est lent

    2 - l'utilisation des "Trigger", c'est du code à mettre sur le serveur SQL et qui s'exécute suivant une condition
    par exemple, je veux insérer un nouvel enregistrement de la table X à chaque fois qu'un enregistrement sur la table Y a lieu.

    Dans les deux cas,t'as demande se trouve plus vers le SQL
    et Personnellement je ne fais pas assez de Trigger pour pouvoir t'aider
    recrée le poste dans la section SQL du forum

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut prb base de données sqserverl pour application C# de gestion de championnat
    Bonjour

    je développe une application de gestion de championnat, en fait je veux maintenant quand j'insère le résultat d'un tel match dans la table Match, il doit faire la mise à jour du classement automatiquement qui est dans la table Participer, c'est à dire le nombre des points s'incrémente avec le nombre des buts marqués enregistré dans la table Match, ainsi que le nombre des match jouées dans la table Participer. j'explique par la suite:

    j'ai une fenêtre pour enregistrer les matchs dans la table Match et autre pour les affecter dans la table Affecter, donnez moi svp le code necessaire, une procédure sql oubien des trigger, je ne suis pas un pro dans le sql mais je me débrouille .

    Classememnt initial:

    Equipe P J DIFF G N P BP BC
    A 0 0 0 0 0 0 0 0
    B 0 0 0 0 0 0 0 0


    Après la fin d'un match je dois l'enregistrer dans la table match et celle ci une vue nommé résultat pour voir les résultats des matchs pour chaque journée:

    equipe_dom score_dom score_ext equipe_ext
    A 1 0 B


    donc par la suite le classement doit changer d'une manière automatique:

    Equipe P J DIFF G N P BP BC
    A 3 1 +1 1 0 0 1 0
    B 0 1 -1 0 0 1 0 1

    voila les tables:

    Match (id_match, equipe_dom, equipe_ext, score_dom, score_ext)

    Affecter (id_competition, num_saison, id_match, num_journee)

    Participer (nom_equipe, id_competition, num_saison, p, diff, j, v, n, d, bp, bc)


    merci d'avance

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    Voila le code qui ne s’exécute pas


    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
     
     
     
    CREATE TRIGGER mise_a_jour_classement
    ON Affecter
    After INSERT, UPDATE
    AS
    DECLARE @score_dom INT
    DECLARE @score_ext INT
     
    SET @score_dom = (SELECT     Match.score_equipe_dom
    					FROM         Match INNER JOIN
                          Affecter ON Match.id_match = Affecter.id_match)
     
    SET @score_ext = (SELECT     Match.score_equipe_ext
    					FROM         Match INNER JOIN
                          Affecter ON Match.id_match = Affecter.id_match) 
     
     
    UPDATE    Participer
     
    IF Participer.abr_equipe =  Match.abr_equipe_dom
     
    SET              but_marquer = but_marquer + @score_dom
     
    ELSE
    SET              but_marquer = but_marquer + @score_ext
     
    FROM         Affecter INNER JOIN
                          Match ON Affecter.id_match = Match.id_match INNER JOIN
                          Participer ON Affecter.id_competition = Participer.id_competition
     
                   WHERE Participer.abr_equipe =  Match.abr_equipe_dom OR Participer.abr_equipe =  Match.abr_equipe_ext

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2008
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 40
    Points : 16
    Points
    16
    Par défaut
    j'ai besoin de vos aides ...

Discussions similaires

  1. Base de données pour applications web + mobiles
    Par bernidupont dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 12/05/2014, 15h18
  2. multilingue schéma base de données pour application web
    Par nassim75 dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 23/05/2013, 16h34
  3. [Débutant] Base de données pour Application C# Multi-Utilisateurs
    Par OneCode dans le forum Accès aux données
    Réponses: 5
    Dernier message: 04/03/2013, 08h26
  4. Réponses: 5
    Dernier message: 14/08/2009, 12h02
  5. Base de donnée pour application transactionnelles, Logiciel à utiliser ?
    Par diophantes dans le forum Accès aux données
    Réponses: 2
    Dernier message: 18/02/2008, 21h11

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