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 :

Charger les données d'un DataSet


Sujet :

VB.NET

  1. #1
    Membre éclairé Avatar de GeoTrouvePas
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juin 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2010
    Messages : 185
    Par défaut Charger les données d'un DataSet
    Bonjour tout le monde,

    Je suis en train de reprendre une application existante en Vb.net qui permet de gérer et ordonnancer les commandes d'un atelier et les présenter dans un planning.

    J'ai donc créé :
    - une IHM
    - une base de données locale SQL Server nommée "Data_All.mdf" qui sera stockée dans le même répertoire que mon exécutable
    - un Dataset "en dur" connecté à cette base de données et qui me permettra de modifier ces données grâce à l'IHM et mettre à jour la base lors de la sortie de l'application

    Après avoir 3 jours passés à éplucher des tonnes de tutos et malgré toute la bonne volonté du monde, je bloque sur 2 points :
    - Comment charger les données de mon Dataset lors de l'ouverture de mon application ? Le Dataset étant créé en dur, il n'est visiblement pas nécessaire de recréer la connexion avec la base mais je n'arrive pas pour autant à avoir mes données
    - Une fois les données chargées, comment boucler sur les données de la table "TABLE_CLIENT" (pour les charger par exemple dans un listview) ?

    J'y ai tellement passé de temps que je finis par ne plus avoir les idées claires et je n'arrive plus à progresser.

    Je vous remercie d'avance pour votre aide si précieuse.

    A toute fin utile, je vous mets 2 captures de mon application :

    Nom : IHM.PNG
Affichages : 570
Taille : 43,7 Ko

    Nom : DataSet.PNG
Affichages : 552
Taille : 136,1 Ko

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    Winform ? WPF ?
    La solution dépendra de la techno que tu utilises.

    Il n'est pas utile de faire commencer le nom de tes tables par "TABLE_".
    Attention, mettre ta base de données dans le répertoire de l'application implique que ta base ne sera pas visible depuis un autre poste.

  3. #3
    Membre éclairé Avatar de GeoTrouvePas
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juin 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2010
    Messages : 185
    Par défaut
    Bonjour Popo et merci pour ta réponse,

    Effectivement, j'ai oublié ces précisions importantes :

    - Il s'agit d'une application WPF (il n'est visiblement pas possible d'intégrer une base de données à un projet Winform)
    - Je suis encore en train de trouver mes marques alors je préfère utiliser des noms de variables très explicites pour bien m'y retrouver et éviter les doublons. Je simplifierai une fois que je serai arrivé au bout
    - J'en ai bien conscience, le multiposte n'étant pas indispensable, je préfère commencer par le plus simple pour l'instant

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 921
    Par défaut
    Ceci devrait couvrir tes besoins.
    https://www.dotnetheaven.com/article...n-wpf-listview

  5. #5
    Membre éclairé Avatar de GeoTrouvePas
    Homme Profil pro
    Contrôleur de gestion
    Inscrit en
    Juin 2010
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2010
    Messages : 185
    Par défaut
    Bonsoir Popo et merci pour ton aide,

    J'ai adapté le code comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Sub Load_DataSet()
       Dim con As SqlConnection = New SqlConnection()
       Dim ad As SqlDataAdapter = New SqlDataAdapter()
       Dim cmd As SqlCommand = New SqlCommand()
       Dim str As String = "SELECT ID, Intitulé, Statut, Création, Modification, FROM TABLE_CLIENT"
       cmd.CommandText = str
       ad.SelectCommand = cmd
      con.ConnectionString = "Data Source=D:\Développement\Projets\Planning Atelier\Planning Atelier\Data All.mdf"
       cmd.Connection = con
       Dim ds As DataSet = New DataSet()
       ad.Fill(ds)
       MainForm.ListView1.DataContext = ds.Tables(0).DefaultView
       con.Close()
    End Sub
    et la ligne "ad.Fill(ds)" me renvoi une exception non gérée. Y aurait il une erreur dans ma chaîne de connexion ?

    J'ai également une erreur sur le listview car DataContext n'est pas un membre valide mais je devrais arriver à me débrouiller en bouclant sur la DataTable quand j'arriverai à la faire fonctionner correctement.

  6. #6
    Membre émérite
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Octobre 2006
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Distribution

    Informations forums :
    Inscription : Octobre 2006
    Messages : 726
    Par défaut
    Bonjour,

    Pour moi tu as une erreur dans ta chaîne de requête. Il y a une virgule en trop.
    Au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim str As String = "SELECT ID, Intitulé, Statut, Création, Modification, FROM TABLE_CLIENT"
    Tu devrais avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim str As String = "SELECT ID, Intitulé, Statut, Création, Modification FROM TABLE_CLIENT"
    Par ailleurs, pour des raisons de compatibilité avec certains outils provenant d'outre-atlantique qui ont une fâcheuse tendance à se baser sur l'ASCII d'origine, évite les accents dans le nom de tes champs / bases. Mais çà c'est pas obligatoire hein.

Discussions similaires

  1. Réponses: 1
    Dernier message: 27/10/2006, 12h17
  2. [C# 2005]recuperer les données d'un dataset
    Par skud dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/09/2006, 17h55
  3. [VB.NET] Transférer les données d'un dataset vers excel ??
    Par beegees dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/06/2006, 18h59
  4. Réponses: 13
    Dernier message: 14/09/2005, 16h21
  5. Charger les données Excel avec Forms 9i
    Par Process Linux dans le forum Forms
    Réponses: 8
    Dernier message: 29/03/2005, 14h20

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