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 :

[VBNET]Travailler sur un dataset déconnecté


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2002
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 72
    Points : 59
    Points
    59
    Par défaut [VBNET]Travailler sur un dataset déconnecté
    Bonjour,

    - je crée un dataset en local.
    - Je rempli mon dataset avec des données venues de formulaires

    ex.:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Dim myDataRow As DataRow
     
                dPrixUnitaire = CDbl(prixUnitaire.Text)
                dQuantite = CDbl(quantite.Text)
     
                myDataRow = DataSet1.Tables("DETAILS").NewRow()
     
                myDataRow("NUM_F") = 1200
                myDataRow("NUM_PRODUIT") = listeCodes.SelectedValue
                myDataRow("QUANTITE") = dQuantite
                myDataRow("PRIX_UNITAIRE") = dPrixUnitaire
    - je connecte un dataGridView par son datasource à mon dataset

    1) Quelle méthode utiliser pour rafraichir le dataGridView à chaque chgt dans le dataset ?

    2) Quelle méthode pour au final écrire toutes mes données vers une base SQL server (xml, procédure stockée, code) ?

    Merci.

    OV

  2. #2
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Pour mettre a jour une base de données depuis un dataset, tu peux utiliser un dataAdapter.
    Un DataAdapter est un objet qui va faire communiquer ton DataSet avec la base pour :
    - remplir le dataSet depuis la base ( ce qui ne semble pas utilis edans ton cas)
    - mettre à jour la base depuis le dataSet

    Pour effectuer ca, le DataSet utilise des SqlCommand , une pour chaque opération (Insert, Delete, Update, Select).

    Deux solutions s'offrent à toi : remplir la SqlCOmmand de Select à la main (en y mettant le code SQL dans la String appropriée) et généré automatiquement les 3 autres commandes.

    Si ca ne te satisfait pas, tu peux faire les 4 commandes à la main.

    Si tu vas dans la rubrique cours de la section .Net, il y a tout ca en détail dans les cours sur ADO.net
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2002
    Messages
    72
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 72
    Points : 59
    Points
    59
    Par défaut
    Merci pour ta réponse,
    mais ma question était plus sur la façon de travailler en mode totalement déconnecté.
    Le but est de simuler une table de données locale temporaire : l'utilisateur fabrique une commande en local, il ajoute des produits, il en enlève et au final le contenu du dataset est envoyé à la BDD sur le réseau.

    - Est-ce que le principe est bon?
    - Ma dataGridView que je connecte par le code au dataset naffiche rien ?!!

    Merci

    OV

  4. #4
    Rédacteur
    Avatar de cladsam
    Profil pro
    Inscrit en
    Août 2003
    Messages
    1 785
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2003
    Messages : 1 785
    Points : 2 436
    Points
    2 436
    Par défaut
    Et bien ce que je t'explique ne t'empeche aucunement de travailler en mode "totalement déconnecté".
    Une réserve toutefois, il faut se méfier de "totalement déconnecté".
    Il est possible avec un dataSet de le remplir pendant 4 heures sans accéder à la base de données et d'y accéder une seule fois au bout des 4 heures poru tout déverser.
    Mais bien souvent cela constitue une erreur de conception, surtout si le formulaire dont tu parles est en ligne et donc accessible par plusieurs personnes en même temps.
    Le mode déconnecté est la pour éviter de conserver un accès à la base (une connexion) ouvert en continue et inutilement. Pas pour n'acceder qu'une fois à la base ...
    Ainsi, il y a des moments ou il peut etre judicieux d'ouvrir un connexion updater la base et le dataSet, fermer la connexion et ceci peut etre reproduit plusieurs fois !
    Chef de Projet SAP. Certifié Prince2 Practitioner
    ---------------------------------------------------
    Anakin Skywalker turned to the Dark Side after his failed attempt to upgrade R/2-D2 to R/3-D2.

Discussions similaires

  1. Réponses: 1
    Dernier message: 04/10/2010, 10h15
  2. Travailler sur des données qui doivent être triées
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 19/07/2003, 17h13

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