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 :

Stocker des données dans un tableau


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut Stocker des données dans un tableau
    Bonjour, toujours avec mon application client/serveur j'aimerais savoir comment faire pour pouvoir stocker les données que je reçois...
    Actuellement les données que je reçois sont directement afficher dans un DataGridView et je ne les sauvegarde nulle part
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Stocker ou sauvegarder ? C'est pas pareil...

    Si c'est stocké, elles le sont déjà dans le datagridview (peut être dans une datatable si il s'agit de la datasource de ton datagridview)

    Sauvegarder... comme par exemple dans un fichier ?
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    désolé pour la confusion...parce que pour moi dans le dataGridView elles n'étaient pas stocker...
    Ben enfait si tu préfere je travail pour une entreprise pour mon stage et je leur développe une application Client en vb.net.
    Le serveur envoi des données au client qui les affiche dans le datagridView.
    ET la ensuite il faudrait qu'il puisse faire une sauvegarde de ces données en les stockant dans l'application, c'est pour cela que je parlais de tableau
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  4. #4
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Oui mais si les données son "stocker" dans l'application. Et que l'application ferme. Les données sont perdus.

    Donc il ne s'agit pas réellement de sauvegarde...

    Tu veux que les données restes même en fermant l'application ? Auquel cas utilisation de fichier en local.

    Ou tu veux simplement que les données restes dans l'application le temps de la session sur ton application... Auquel cas tu peux te créer un dataset dédiées, contenant plusieurs datatable... Que tu peux afficher ou masquer. Mais disparaitront a la fermeture.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  5. #5
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    Oui voila c'est ça que je veux faire...je vaux créer un tableau qui "stock" les données recues pas mon serveur puis les affiche ensuite dans un dataGrid...
    Ce n'est pas grave si à le fermeture elle disparaissent car l'utilisateur aura la possibilité de les sauvegarder à un moment donné
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  6. #6
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Et bien créer un dataset.

    Puis tu peux dynamiquement ajouter des datatables à ce dataset ( en les nommants).

    Mais au lieu de charger ton datagridview directement de la base de données, je te conseillerai de charger une datatable... Si tu veux afficher les données tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonDataGridView.datasource=MonDataset.Tables("MaTable1")
    Et si tu veux masquer les données:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonDataGridView.datasource=Nothing
    C'est grâce à sa qu'il est pertinent d'utiliser des datatables pour stockés au lieu du datagridview.
    Parce que dans ton cas, je vois pas comment passer des données du datagridview a la datatable, a part en le faisant a la main. Alors qu'avec une simple requête c'est facile.
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  7. #7
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    Justement je ne veux pas passer de mon dataGrid a mon dataSet mais de mon dataset a mon dataGrid...

    Stocker les données dans le dataSet puis les afficher dans le dataGrid

    Je sais pas comment je vais m'y prendre mais bon...
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  8. #8
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Regarde le cours de plassere...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     Dim MonAdapter As New SqlDataAdapter(Requete, MaConnexion)
                        MonAdapter.Fill(LeDataset)
                                            MonAdapter.Dispose()
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  9. #9
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    je nutilise pas de base sql ni rien.
    En réalité le serveur est un ecarte situé dans un ascenseur et qui menvoi des données (par exemple la vitesse,le nb de personne,etc en temps réel) et c'est précisément c'est données (qui sont envoyées par trames avec des séparateurs) qur je veux stocker dans un Tableau
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  10. #10
    Membre actif Avatar de yroubag
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 224
    Points
    224
    Par défaut
    Si tu n'as pas de BD, remplit ton DataSet par code puis tu le link au DataGrid.

    http://plasserre.developpez.com/cour...nnees2#LXVII-E

    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi
    Bonus, la phrase virée de bord du jour...
    Ce que l'on apprend, c'est à l'école qu'on réussi en trichant...
    Yroubag
    Bien poser les questions, c’est tout un art.
    Où tout dépend, bien sûr, de la réponse que l’on veut obtenir. -André Frossard

  11. #11
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    tout cela me paraît un peu confus
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  12. #12
    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
    Le principe est de:
    • créer un dataSet,
    • définir dans le DataSet une DataTable pour stocker les données,
    • Créer un DataGridView
    • Créer un BindingSource pour lier la DataTable au dataGridView.


    Toute modification de la DataTable sera automatiquement répercutée sur kle DataGridView
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  13. #13
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    J'ai lu le cour et sa ne m'avance pas dut tout.
    Il utilise une connexion pour accéder à la BDD mais moi je n'en n'ai pas...
    C'est un peu compliquer tout ca
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  14. #14
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Bon.... tes données arrivent par trames apparemment... Tu arrives à lire ces trames ? a les mettre dans des variables par exemple?
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  15. #15
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    Ben oui j'ai une fonction recevoir qui me permet de recevoir les données:
    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
    34
    35
    36
    37
    38
    39
     
    Function recevoir() As String
     
            Dim returnData As String = Nothing
            Dim inStream(10024) As Byte
            Dim serverStream As NetworkStream
            Dim x As Integer = 0
     
            If clientSocket.Connected Then
                Try
                    serverStream = clientSocket.GetStream()
                    serverStream.Read(inStream, 0, CInt(clientSocket.ReceiveBufferSize))
                    returnData = System.Text.Encoding.ASCII.GetString(inStream)
     
                    Dim len As Integer = returnData.IndexOf("$")
     
                    If len < 0 Then
                        len = 0
                    End If
     
                    If Donnees.ETAT = Donnees.ATTE Or Donnees.ETAT = Donnees.CONN Then
                        MiseEnFormeConn(returnData)
                    Else
                        If Donnees.ETAT = Donnees.AUTH Then
                            x = MiseEnFormeDonnees(returnData)
                            MsgBox(x)
                        End If
                    End If
     
                    returnData = returnData.Substring(0, len)
     
                Catch ex As Exception
                    'MsgBox(ex.Message)
                    msg(Donnees.ERR_REC)
                End Try
            End If
            Return returnData
     
        End Function
    Puis dans la fonction recevoir il y a une fonction MiseEnFormeDonnees qui permet de couper les éléments de la trames et de les mettre dans un dataGrid:
    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
     
    Dim Tab() As String = Split(data, SEP) ', , CompareMethod.Text)
     
            Dim i As Integer = 0
            Dim j As Integer = 0
     
            For Each kvp As KeyValuePair(Of String, String) In Dico.DicEssais
                If kvp.Value <> Nothing Then
                    DataGridView1.Rows.Add()
                    DataGridView1.Rows(j).Cells(0).Value = kvp.Value
                    j = j + 1
                End If
            Next kvp
     
            For i = 0 to Ubound(Tab) - 1
                If Element <> Nothing Then
                    If i > dg.RowCount - 1 Then
                      DataGridView1.Rows.Add()
                    End If
                    DataGridView1.Rows(i).Cells(1).Value = Element
                End If
            Next
     
     
            Return Tab.Length
     
        End Function
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  16. #16
    Membre actif Avatar de yroubag
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 224
    Points
    224
    Par défaut
    C'est tout simple.

    Au lieu de remplir ton DataGridView, tu dois remplir un DataSet qui lui sera utilisé comme source de donnée du DataGridView.

    Voir la dernière image de la section E.1 Généralités
    http://plasserre.developpez.com/cour...nnees2#LXVII-E

    La seule différence est que tu remplis ton DataSet autrement qu'avec une BD.
    Yroubag
    Bien poser les questions, c’est tout un art.
    Où tout dépend, bien sûr, de la réponse que l’on veut obtenir. -André Frossard

  17. #17
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    plus facile a dir qu'a faire .
    Vu que je n'ai pas de base de données je n'ai pas besoin de tte la partie connexion?
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  18. #18
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Mais non tu n'as pas besoin de toute la partie connexion.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Me.MonDataset = New Dataset
    Me.MonDataset.Tables.Add("MaTable")
     
    Me.MonDataset.Tables("MaTable").columns.add("Col1")
    Me.MonDataset.Tables("MaTable").columns.add("Col2")
     
    Me.MonDataset.Tables("MaTable").Rows.add("Salut", "Salut")
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  19. #19
    Membre du Club
    Inscrit en
    Avril 2010
    Messages
    219
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 219
    Points : 69
    Points
    69
    Par défaut
    j'ai l'impression d'être en cours quand les profs me cirent dessus...

    Est-ce qu'il serait possible plutot que d'utiliser un dataset, de remplir un dictionnaire?
    C'est à l'école qu'on apprend et c'est en trichant que l'on réussi...

  20. #20
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Je crie pas mon amie.

    Je pense que y'a deux ou trois trucs que tu as mal compris... que tu aurais peut être vu dans un cours.

    -> Tu peux remplir un dataset manuellement ou par une connexion a une base de données.

    -> Pour remplir un datagridview, deux solutions: manuellement, comme tu fais ou le lié à une datatable.

    Sachant ça plusieurs solution pour toi:
    -> tu remplis a la main une datatable que tu lies au datagidview
    -> tu remplis un dictionnaire, mais ça n'arrange rien, il faudra remplir une datatable lié au datagridview, ou tu remplis le datagridview (cela dis, remplir un datagridview est plus compliqué qu'une datatable, notamment si tu veux changer le contenu)
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Stocker des moviesclips dans un tableau ?
    Par Paganoni dans le forum Flash
    Réponses: 1
    Dernier message: 13/05/2006, 17h20
  2. [MySQL] Stocker des données dans un tableau
    Par LadyArwen dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 02/02/2006, 10h40
  3. Réponses: 3
    Dernier message: 05/12/2005, 02h30
  4. Réponses: 2
    Dernier message: 15/06/2005, 17h32
  5. [XML] stocker des données dans un fichier XML
    Par R3iTt0R dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 27/05/2005, 16h51

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