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

Windows Forms Discussion :

l'ajout des données


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut l'ajout des données
    bonjour,
    dans ma base donnée Gestion de stock j'ai une table qui s'appele bonLivraison(NumBon,DateBon,Montant), et j'ai une autre qui s'appelle DétailbonLivraison(NumBon,NumLigne,RéfArticle,Quantité,PrixVentettc,MontantTTC).

    Au niveau de programmation j'ai une fenêtre qui permet d'ajouterLigne ,modifier, supprimer une ligne de bon de livraison et un button ValiderBon. Dans ce button je valide mon bon de livraison alors que les lignes sont déjà ajouté dans la base de donnée lorsque je clique sur ajouterLigne mais pour le button validerBon j'ajoute le bonLivraison dans la table bonLivraison.

    Je veux seulement dire que j'ai commencer par l'ajout des lignes d'un bonlivraison et ensuite je valide(j'ajoute ce bon dans la table bonlivraison).

    Est ce que vous avez trouvé mon raisonnement pas mal, une autre idée sera bienvenue?

  2. #2
    Membre régulier Avatar de stdebordeau
    Homme Profil pro
    Statisticien
    Inscrit en
    Septembre 2007
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43

    Informations professionnelles :
    Activité : Statisticien
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2007
    Messages : 241
    Points : 120
    Points
    120
    Par défaut
    en tout cas ta présentation n'est pas du tout bonne. pourrais tu re expliquer avec des phrases moins longues.

  3. #3
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Est ce que vous avez trouvé mon raisonnement pas mal
    Ca pose quand même le problème d'intégrité au niveau des lignes qui pourraient rester enregistrées dans la table DétailbonLivraison si le bon n'est pas validé.

    La solution logique dans le schéma relationnel est une relation entre DétailbonLivraison et bonLivraison avec cascade.

    Parmi les possibilités :
    - créer un bon "en instance" dès l'ajout de du premier détail,
    - garder l'ensemble des détails en mémoire et effectuer une transaction pour enregistrer bon et détails.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    bonjour monsieur Graffito et merci pour votre réponce.

    justement j'ai eu le problème d'intégrité au niveau des lignes qui sont enregistrées dans la table DétailbonLivraison alors que le bon n'est pas validé. et pour régler ça: j'ai essayé d'écrire le code qui sert à enregistrer ce bon dans la base de donnée dans l'événement FormClosed de mon formulaire .comment trouvez-vous ça?

  5. #5
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    enregistrer ce bon dans la base de donnée dans l'événement FormClosed de mon formulaire .
    C'est une solution pour une utilsation "normale", mais en cas d'abort du programme ou de problème réseau ...

    Sans la relation entre bons et détails, il faut de toute façon gérer les détails "orphelins".
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  6. #6
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par Graffito Voir le message
    Ca pose quand même le problème d'intégrité au niveau des lignes qui pourraient rester enregistrées dans la table DétailbonLivraison si le bon n'est pas validé.

    La solution logique dans le schéma relationnel est une relation entre DétailbonLivraison et bonLivraison avec cascade.
    Je ne pense pas que sa cause problèmes d'intégrité

    Je prend le cas ou dans sa gestion y'a une personne qui établie les bons et une autre qui est charge de les validé sa suppose que c'est a la date que l'on valide le bon que l'on inséré dans la table BonLivraison donc les bons qui ne sont pas dans cette table sont ceux que l'on n'a pas validé et l'on peut décider après un certain temps de les supprimer. Dans ce cas je te propose d'avoir un autre formulaire ou tu charge tout les bons qui ne sont pas dans la table BonLivraison(Non validé) et un champ date et après validation tu insérer dans la table BonLivraison.

    Dans le cas contraire je ne voit pas pourquoi utiliser deux tables une seule table avec les champs des deux tables suffirais
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

  7. #7
    Nouveau membre du Club
    Inscrit en
    Novembre 2008
    Messages
    90
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 90
    Points : 36
    Points
    36
    Par défaut
    bonjour ,
    Je veux juste dire que pour ma gestion, la personne qui va établir les bons est celui qui va les valider.
    Pour bien illustrer mon problème je vais recommencer de l'expliquer encore une fois.
    Dans une formulaire j'ai des zones de texte(txtRefArticle,Designation,Quantite,PrixVentettc,MontantTTC) + un datetimepicker+listview. Dans le formLoad de ce formulaire j'ai fait appel à une méthode que j'ai crée dans la classe BonLivraison c'est AddNew:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub AddNew()
    dim cmd as new oledbCommand("Insert into BonLivraison("DateBon,Total") values("' & datetime.today & "',0)",ConnectionOleDb)
    ConnectionOleDb.open
    cmd.execNonQuery
    ConnectionOleDb.Close
    end sub
    ps:Le numBon est un champ incrément dans la table BonLivraison.
    Il sert à crée un bonLivraison mais avec un montant de valeur 0. Aprés je vais modifier cette valeur avec la valeur exacte de ce bon.
    Lorsque je saisie dans la zoneTexte(RéfArticle)(ou bien lorsque la douchette lit la réfArticle) les informations qui le concerne s'affichera(désignation+PrixVenteTTC).
    Je saisie la quantite, et le Montant(quantite*PrixVentettc) s'affichera dans la zone txtMontant.
    Lorsque j'appuie sur la touche ENTREE la ligne sera ajouter dans le ListView et au fur et à mesure je l'insère dans la table DétailBonLivraison dans la BD. Dans une autre formulaire validation j'ai un label Total qui affiche la somme des Montants de ces ligneBonLivraison et un button valider dans laquelle je fais appel à une mèthode AjouterBon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Ajouter()
    dim cmd as new oledbCommand("update BonLivraison set DateBon='" & Formulaire.DateTimePicker1.value & "',Montant=" &  labelMontant.text & " where numBon=" & Formulaire.TxtBon.text,ConnectionOleDb)
    connectionOleDb.open
    Cmd.execNonQuery
    connectionOleDb.open
    end sub
    Cette formulaire Validation s'affiche si l'utilisateur appuie sur la Touche F4. Supposons qu'il a oublié d'appuier sur cette touche alors les lignes sera ajouter sans validation du bon. Cette idée m'a pas beaucoup plu ! avez vous une autre idée?

  8. #8
    Responsable .NET

    Avatar de Hinault Romaric
    Homme Profil pro
    Consultant
    Inscrit en
    Janvier 2007
    Messages
    4 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4 570
    Points : 252 372
    Points
    252 372
    Billets dans le blog
    121
    Par défaut
    Citation Envoyé par asprog Voir le message
    Dans le formLoad de ce formulaire j'ai fait appel à une méthode que j'ai crée dans la classe BonLivraison c'est AddNew:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub AddNew()
    dim cmd as new oledbCommand("Insert into BonLivraison("DateBon,Total") values("' & datetime.today & "',0)",ConnectionOleDb)
    ConnectionOleDb.open
    cmd.execNonQuery
    ConnectionOleDb.Close
    end sub
    ps:Le numBon est un champ incrément dans la table BonLivraison.
    Il sert à crée un bonLivraison mais avec un montant de valeur 0. Aprés je vais modifier cette valeur avec la valeur exacte de ce bon.
    Je trouve ton idée pas bonne avec cette méthode chaque fois que l'on veut créer un nouveau bon l'on doit fermer et réouvrir le formulaire, ce que je peut te faire comme proposition. C'est mètre un bouton sur ton formulaire qui permet de passé en ajout des détails article, et a la fin des ajouts y'a un autre bouton qui permet de quitter du mode ajout, lorsque l'on clic sur ce bouton tu créer le bon, maintenant tu gère l'événement Onload du formulaire de tel sorte que l'on ne puisse fermer le formulaire tant que l'on n'est sortie du mode ajout
    Vous souhaitez participer aux rubriques .NET ? Contactez-moi

    Si déboguer est l’art de corriger les bugs, alors programmer est l’art d’en faire
    Mon blog, Mes articles, Me suivre sur Twitter
    En posant correctement votre problème, on trouve la moitié de la solution

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/04/2007, 16h07
  2. Réponses: 4
    Dernier message: 30/08/2006, 12h17
  3. [C#][VS 2005]Ajouter des données dans un rapport CrystalReport
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/07/2006, 16h24
  4. Réponses: 22
    Dernier message: 07/12/2005, 13h51
  5. ajouter des données dans une requête htttp en js
    Par jeromejanson dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/10/2005, 15h34

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