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 :

Comment remplir un dataset?


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut Comment remplir un dataset?
    Bonjour

    Je precise que je suis débutant.

    Tous d'abord ce que j'aimerais faire.
    Mettre a jour la base mysql de mon site par cette methode:
    - par php je cré un fichier .txt qui contient les renseignement de la base.
    - j'importe ce fichier en local
    - je rempli la datatable avec les données du fichier
    - j'affiche le resultat dans un datagrid
    - en cliquant sur une ligne du datagrid je permet de faire des modifs qui serait enregistrés dans le dataset.
    - A partir du dataset je crée un fichier .php qui va mettre a jour ma base.


    J'ai fais le dataset et la datatable qui contient les champs.
    Mais je ne sais pas comment faire pour remplir la datatable, tous les exemples que j'ai trouvé passe par une base de données et l'import.

    Un peu d'aide, un lien un bout de code serait le bien venu.

    Merci de m'avoir lu

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Besoin bizarre mais soit.

    Alors, l'utilisation du dataset n'est ici pas nécessaire.

    Il faut déclarer une datatable, à laquelle tu ajoutes les colonnes nécessaires.
    Une fois ceci fait, tu lis ton fichier contenant l'export de ta base mysql, pour chaque ligne, tu ajoutes une DataRow à ta DataTable, voici un exemple de code pour ajouter une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim row as DataRow = maDataTable.NewRow()
    row["col 1"] = valeur
    ...
    row["col n"] = uneAutreValeur
     
    maDataTable.Rows.Add(row)
    Ensuite pour la génération du .php, tu crées un fichier en ajoutant une ligne pour chaque ligne de ta datatable.

  3. #3
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut
    merci de m'avoir repondu si vite.

    Quand au besoin je n'ai pas le choix, ne pouvant pas me connecter a distance sur les serveurs d'ovh mutualisé.
    C'est la seule idée que j'ai eu mais je suis prennuer si tu as mieux ou plus simple.

    je vais essayer ce que tu me dis mais d'aprés ce que j'ai lu la datatable ne devrait pas etre contenue dans un dataset?

    d'apres ce que j'ai compris tu crée la datatable de maniere "volatile"
    Comment faire pour que la tadatable que tu crée soit la source de mon datagridview?
    merci

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Un DataSet peut regrouper un ensemble de datatable mais une datatable peut exister toute seule.

    Pour binder une datatable à une datagridview il faut faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    maDataGridView.DataSource = maDataTable
    Simple non ?

  5. #5
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut
    oui ca a l'air effectivement mais j'ai du loupé un truc

    voici mon code, j'ai fais comme tu me la dit j'ai supprimé le dataset que j'avais crée sur l'interface form.
    Mais cela bug avec la datable il me dit que SiteDataTable est utilisé avant qu'une valeur ne lui ait été assigné

    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
    Dim SiteDataTable As DataTable
            'création de la ligne de la table
            Dim row As DataRow = SiteDataTable.NewRow()
     
            'TODO faire remplir a partir du fichier texte les champs
            'On remplit la première colonne c'est la clé primaire de la base mysql donc sera toujours unique
            row("id") = "3"
            row("superficie") = "10"
            row("prix") = "20"
            row("photo") = "c:/test/photo.jpg"
            row("Prestations") = "essai"
     
            'Ajout de l'enregistrement dans la datatable
            SiteDataTable.Rows.Add(row)
     
            'liaison avec le datagridview2
            DataGridView2.DataSource = SiteDataTable

  6. #6
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Août 2010
    Messages : 277
    Par défaut
    oups j'avais mal déclaré la table j'ai remplacé par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim SiteDataTable As New DataTable
    ca va mieux, mais cela ne me met rien dans mon datagridview

    apparement la colonne "id" n'appartient pas a la table.

    Il doit falloir que je "fasse" la table quelque part mais ou si pas dans un dataset?

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 01/09/2010, 14h00
  2. Comment remplir un Dataset avec toutes les tables d'une db?
    Par Mr_Welby dans le forum Accès aux données
    Réponses: 1
    Dernier message: 14/05/2007, 15h29
  3. [.net2.0] comment remplir un dataset typé
    Par dietrich dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 23/01/2007, 13h57
  4. [C#] Comment remplir un dataset depuis un detailsView
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/11/2006, 16h03
  5. Réponses: 19
    Dernier message: 13/03/2006, 13h06

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