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 :

DataAdapter et DataGridView


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Par défaut DataAdapter et DataGridView
    Bonjour à tous

    Il y a quelque chose que je ne comprend vraiment dans le fonctionnement du dataset.

    Voilà ce que j'ai fait pour le moment :
    - J'ai une base de données MySql stockée sur notre serveur entreprise. J'ai créer un DataSet via l'assistant que j'ai nommé savDataSet. Dans ce Dataset je retrouve bien tous les champs de la table nommée parc_machine_sav.
    - Dans le concepteur du DataSet j'ai fais clique de droit pour ajouter une nouvelle requète. Où là je fais un Select seulement sur les colonnes qui m'interresent avec la condition @idclient.

    - Je voudrais ensuite ajouter ce DataAdapter (GetDatabyClient) à un DataGridView.

    -J'ai ajouter à mon formulaire un DataGridView vierge que j'ai nommé "DGVMachineClient".

    - Au changement de valeur d'un autre DataGridView (liste des clients) j'ai écrit le code suivant :
    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
    Private Sub ClsClientsDataGridView_SelectionChanged(sender As System.Object, e As System.EventArgs) Handles ClsClientsDataGridView.SelectionChanged
     
            Dim machineTableAdapter As New savDataSetTableAdapters.parc_machine_savTableAdapter()
     
            Dim idclient As Integer
     
            idclient = ClsClientsDataGridView.CurrentCell.Value
     
            machineTableAdapter.ClearBeforeFill = True
     
     
            machineTableAdapter.FillByClient(SavDataSet.parc_machine_sav, idclient)
            DGVMachineClient.DataSource = machineTableAdapter.GetDataByClient(idclient)
     
        End Sub
    lorsque j'execute j'ai une erreur sur la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    machineTableAdapter.FillByClient(SavDataSet.parc_machine_sav, idclient)
    Erreur : L'exception ConstraintException n'a pas été gérée.
    Impossible d'activer les contraintes. Une ou plusieurs lignes contiennent des valeurs qui violent les contraintes de type non null, unique ou clé externe.
    Pour info lorsque je crée une requète sans décocher les colonnes qui ne m'intéressent pas et en ajoutant seulement le WHERE et le ORDER BY, ça fonctionnement correctement.

    Ma question pourquoi lorsque je décoche des colonnes qui ne m'intéressent pas dans ma requète ça ne fonctionne plus.
    Si c'est normal comment je dois écrire la suite de mon code pour voir dans mon DataGridview les colonnes qui m'intéressent non pas toutes les colonnes.

    Merci d'avance pour votre aide.

  2. #2
    Membre confirmé
    Inscrit en
    Février 2008
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 100
    Par défaut Mise à jour base de données
    Bon après plusieurs recherches j'ai enfin réussi à afficher dans mon DataGridView les informations qui m'intéressent.
    Maintenant je voudrais mettre à jour ma base de données MySQL, et là je galère...
    Je vous explique : Dans mon DataGridview j'affiche 3 colonnes de ma table parc_machine_sav (Type de machine, n° de série et revendue)
    Sur le coté de mon datagridview j'ai mis d'autre champs de ma table. Dans source de données, dans savDataSet et dans la table parc_machine_sav j'ai fait glisser les champs qui m'interressaient sur mon formulaire.
    J'ai mis un bouton modifié, qui lorsque je clique dessus me verrouille l'enregistrement de ma table (pour que les autres utilisateurs sachent qu'il est en cours de modification).
    Je modifie ma valeur dans une cellule (ex: date de garantie).
    Et lorsque j'appuie sur un bouton valide, ça me met à jour la base de donnée sur mySQL.
    C'est là que je bloque. Je ne sais pas par où commencer.
    Je suppose qu'au clique du bouton modifier, je dois ouvrir la connexion à la base, mais après je sais plus.
    Pourriez-vous m'indiquer la marche à suivre ou auriez-vous des liens de documentations ?
    Merci d'avance.

Discussions similaires

  1. datagridview, dataset, DataAdapter, bindingsource.etc
    Par miagomiago dans le forum VB.NET
    Réponses: 3
    Dernier message: 10/10/2013, 05h25
  2. Update base de données par DataGridView sans DataAdapter
    Par seb.49 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/11/2007, 15h23
  3. [VB.NET] [ADO.NET] DataAdapter et concaténation
    Par master56 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 04/06/2004, 13h25
  4. [VB.Net] DataAdapter, Affichage si non null ???
    Par Sophy dans le forum ASP.NET
    Réponses: 12
    Dernier message: 20/02/2004, 18h03

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