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 :

Pb avec un dataset fortement typé


Sujet :

Windows Forms

  1. #1
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut Pb avec un dataset fortement typé
    bonjour,
    j'ai créé un dataset à partir d'une base de donnée SQL 2005. Sur un premier form avec ma liste de client (c ok ca marche) ensuite je créé un form detail ou je peut entrer de nouveau client. Ds ce form j'ai databinder mes textbox avec les champs du dataset (=> création de TblEmployésBindingSource et TblEmployésTableAdapter).

    Quand je fais un changement sur le nom du client dans le form detail. je fais TblEmployésTableAdapter.Update(dataset.MaTable) et il ne prend aucun changement en compte. Si je fait une boucle pour voir si les rowsstate ont bougés ils st tous à Unchanged.

    Savez vous comment corrigé ce probleme.

    De plus comment puis je faire pour que qd je clique sur "Ajouter" dans la liste des clients, ca ouvre le form (ca c bon ) mais avec les champs a vide et qu'il sache que je vais ajouter une ligne dans le dataset ?

    merci

  2. #2
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    Sinon connaissez vous un tutoriel expliquant cela ?

  3. #3
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    fais un endedit avant le update. Sinon il faut faire un addnew sur le binding source pour vider les champs

  4. #4
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    le fait de mettre EndEdit() ne change rien.

    voici le code :


    Public Id_Objet As Integer

    Private Sub frmUtilisateur_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    Try

    If Not Me.Id_Objet = Nothing Then
    Me.TblEmployésTableAdapter.Fill(Me.DsPhode.tblEmployés)
    Me.TblEmployésBindingSource.Filter = "Id_User = " + Me.Id_Objet.ToString
    Me.TblDroitEmployeTableAdapter.Fill(Me.DsPhode.tblDroitEmploye)
    Else
    Me.TblEmployésBindingSource.AddNew()
    Me.TblDroitEmployeBindingSource.AddNew()
    End If

    Catch ex As Exception
    MessageBox.Show("Erreur de chargement", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

    Finally
    Me.TblEmployésBindingSource.EndEdit()
    Me.TblDroitEmployeBindingSource.EndEdit()
    End Try

    End Sub

    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
    If Me.DsPhode.HasChanges Then
    MsgBox("ok")
    End If
    End Sub

  5. #5
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    il est ou le Update

  6. #6
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    je l'ai mis ds l'evenement du bouton ok

    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
    Me.TblEmployésTableAdapter.Update(Me.DsPhode.tblEmployés)
    End Sub

    mais rien ne change!!!

  7. #7
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    de plus qd on créé un dataset avecl'assistant celui ci ajoute une ligne dans My.Setting le pb est que cette ligne est en read only, comment faire pour que si je deploie l'appli ailleurs je puisse entrer le bon chemin de la base de données.

    merci

  8. #8
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    et avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
    Me.TblEmployésBindingSource.EndEdit
    Me.TblEmployésTableAdapter.Update(Me.DsPhode.tblEmployés)
    End Sub
    ???

    Pour la connexion, tu peux changer la valeur dans le fichier de configuration

  9. #9
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    merci avec cette syntaxe c ok gd merci

  10. #10
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    derniere question

    comment lui dire que je veux ajouter un user et non pas modifié ?

    merci

  11. #11
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    gné ?????

    Je n'ai pas compris la question

  12. #12
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    a desolé

    J'ai une liste des users, qd je double clique sur un user je l'ouvre en modif avec les champs databinder donc rempli. Maintenant comment faire pour que quand je clique sur ajouter les champs soient vides et que qd je fait mon DataAdapter.Update(MonDs) il fasse bien l'insertion.

    de plus lors de l'insertion y a t'il un moyen pour recevoir le dernier id inseré?

    merci

  13. #13
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    1) quand tu appel AddNew sur le BindingSource il doit te positionner sur un nouvel enregistrement et donc vider les champs.

    2) Pour récupérer la clé, ca va dépendre de la base de données qu'il y a derrière

  14. #14
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    j'ai du sql serveur 2000 derriere. D'apres toi quelle est la meilleure solution pour recupere le dernier ID integré ?

    merci

  15. #15
    Expert confirmé
    Avatar de bidou
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2002
    Messages
    3 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 055
    Par défaut
    utiliser pour l'insertion une procédure stockée qui renvoie un paramètre SCOPE_IDENTITY, ca fonctionne très bien

Discussions similaires

  1. Linq et dataset fortement typé
    Par stdebordeau dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/05/2009, 20h45
  2. Methode find sur Dataset fortement typé
    Par stdebordeau dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/05/2009, 18h41
  3. Utilisation du dataset fortement typé
    Par s.n.a.f.u dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 06/04/2007, 19h39
  4. [ADO.net][VB.net] DataSet fortement typé à la main
    Par RaelRiaK dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/01/2007, 09h48
  5. Réponses: 2
    Dernier message: 19/09/2006, 13h26

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