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 :

DataSet et DataTable


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par défaut DataSet et DataTable
    Bonjour à tous,

    Je vous expose mon problème. Je souhaite récupérer le contenu d'une table de ma BDD (SQL Server) et la mettre dans une DataTable en passant par un DataSet. Jusque là, pas de soucis.

    Ensuite, j"envoie cette datatable sur une autre partie de mon application afin de la manipuler (ajout de lignes), ... Jusque là, j'y arrive encore.

    Mais aprés, j'aimerais savoir si c'est possible de renvoyer cette DataTable à la BDD afin de mettre à jour la bonne table correspondante avec les changements effectuer pour assurer la persistance des données. Si oui, quelle est la démarche à entreprendre ?

    Merci d'avance pour votre aide.

  2. #2
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Tiens regarde ici:http://plasserre.developpez.com/v6-5.htm,
    vas à "ajouter un enregistrement"

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 7
    Par défaut
    Oui mais l'exemple donné sur ce site (trés bon au passage) est réalisé sur un seul formulaire. Mon idée, c'était de recup les données dans une DataTable, et ensuite d'envoyer cette DataTable seule ailleurs. Par conséquent, elle n'est plus liée à un DataSet et à la BDD donc, non ?

  4. #4
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Envoi le code que tu utilise pour "envoyer" ta datatable, et celui que tu utilise pour charger ton dataset stp

  5. #5
    Steven62
    Invité(e)
    Par défaut
    Donc en fait, j'ai ma FormMain avec toute la partie graphique et une DAL pour regrouper tout ce qui est accés aux données, y'a aussi une couche métier pour les objets.

    Dans ma FormMain, je fais appel à une fonction présente dans ma DAL qui se charge de récupérer une DataTable et la renvoie.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Function GetArretSrv() As System.Data.DataTable
                Return Me.SqlHelper.GetDataTable(Data.CommandType.StoredProcedure, "ArretSrv_SELECT")
    End Function
    Cette fonction fait appel à ma classe SQLHelper dans laquelle on trouve différente fonction et procédure : GetDataTable, GetDataSet, ExecuteNonQuery, ExecuteScalar, ...

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Function GetDataTable(ByVal CommandType As System.Data.CommandType, ByVal CommandText As String, ByVal ParamArray CommandParameters() As System.Data.SqlClient.SqlParameter) As System.Data.DataTable
     
                'Récupération des résultats
                Dim dsResults As System.Data.DataSet = Me.GetDataSet(CommandType, CommandText, CommandParameters)
                'Vérification du DataSet et des DataTable
                If Not dsResults Is Nothing AndAlso dsResults.Tables.Count > 0 Then
                    Return dsResults.Tables(0)
                Else
                    Return Nothing
                End If
     
    End Function
    Donc je me retrouve avec ma DataTable sur ma FormMain.

    Ce que j'aimerais faire, c'est ajouter des lignes dans cette DataTable à partir de ma FormMain et ensuite de la renvoyer à ma DAL en utilisant une nouvelle sub. Cette procédure serait charger de mettre à jour la BDD SQL Server. J'espère avoir été assez clair

    Ps : Tsoupi c'est moi (enfin, le compte de ma cop).
    Dernière modification par Poulain ; 07/04/2008 à 10h02. Motif: [ajout balise code]

  6. #6
    Steven62
    Invité(e)
    Par défaut
    Personne pour m'aider ?

    Pour l'instant, je fais comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim objArretSrvDataHelper As New ReseauLibrary.DAL.ArretSrvDataHelper
    objArretSrvDataHelper.InsertArretSrv(champ1, champ2, etc...)
    Je met ça dans une boucle. Ca créé donc une connexion / déconnexion à chaque ajout dans la table ArretSrv. Pas tip top. Pour ça que je veux faire une boucle qui ajoute des lignes à ma DataTable (récupérée comme expliqué plus haut) et que seulement à la fin, j'envoie cette DataTable pour sauvegarder les données.

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/04/2009, 12h25
  2. DataSet et Datatable
    Par Redg9 dans le forum Windows Forms
    Réponses: 17
    Dernier message: 17/03/2009, 14h52
  3. Réponses: 2
    Dernier message: 22/05/2008, 12h37
  4. Gestion Dataset et Datatable
    Par Niquel dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 24/07/2007, 14h13
  5. [ADO.NET] Dataset et DataTable
    Par gibea00 dans le forum Accès aux données
    Réponses: 4
    Dernier message: 15/12/2006, 04h49

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