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 :

Mise à Jour des Données impossible


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut Mise à Jour des Données impossible
    Bonjour,

    Je suis sur le point de finir mon projet et me voilà bien ennuyé. Dès lors que j'effectue une opération de mise à jour du DataSet vers la Base de donnée via :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.MaterielTableAdapter.Update(Me._Gestion_de_la_Charge_V2_6DataSet.Materiel)

    j'obtiens le message d'erreur suivant : "L'opération doit utiliser une requête qui peut être mise à jour." et franchement je n'est aucune idée d'où cela peut venir.

    Pour infos je bosse sous Visual Studio 2008. Mais quand je travaillais sur Visual Studio 2005, je n'es jamais eu cette erreur.

    De plus l'erreur apparaît uniquement quand le programme compilé est installé sur un PC. Si je le lance dans Visual Studio, tout fonctionne bien....

    Merci pour votre aide et vos explications...

  2. #2
    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
    Problème de droits d'écriture
    • Quel SGBD ?
    • Quel OS (Vista ou XP) ?
    • Base sur machine locale ou serveur ?

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Le SELECT de ton MaterielTableAdapter utilise une vue, non ?
    Dans ce cas il faut que tu écrives toi-même les UPDATE/INSERT/DELETE, parce qu'une vue ne peut pas être mise à jour...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    J'utilise comme OS XP et Vista
    Base de données : ACCESS
    Base sur machine local..

    Le fichier *.mdb est placé dans le dossier racine de l'application. A savoir que sous VISTA, j'ai "L'opération doit utiliser une requête qui peut être mise à jour." et sur XP j'ai "Le fichier GestionDeCharge.mdb est introuvable" or celui-ci se trouve bien dans le dossier racine.

    Je n'utilise pas de vue à ma connaissance. Le dataGridView et les Textbox utilise le BindingSource et sont lié à la Table directement et non pas à .table(materiel).defaultview

    PS : je débute dans la programmation visual basic, donc bon...

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Je ne parle pas de DataView, mais de vue au sens de la base de données (sous Access ça ne s'appelle pas "vue", ce sont les requêtes préenregistrées).

    Ou alors tu n'utilises pas de vue mais la requête SELECT de ton DataAdapter fait une jointure entre plusieurs tables...

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Non, je n'es fait aucune requête préenregistrer. Je ne sais même pas de quelle façon les faire.

    Ceci dit, j'ai utiliser des exemples fait sous Studio 2005 que j'ai ouvert avec Studio 2008 j'ai compiler le tout et ensuite installé le programme et j'ai eu exactement la même erreur "L'opération doit utiliser une requête qui peut être mise à jour."

    Je me demande si ça ne peux pas venir d'un paramètre de Visual Studio 2008 ou alors ça vient du faite qu'il ne trouve pas le fichier access, mais pourtant il est bien dans le dossier de l'application...

    Enfin, j'y comprends rien...

    PS : Ou est la différence entre l'ajout d'une ligne par ADDNEW du BindingSource et l'ajout par NewRow et row.add() du DataRow

    Merci...

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Fais voir la requête SELECT de ton DataAdapter

    Citation Envoyé par boby15000 Voir le message
    PS : Ou est la différence entre l'ajout d'une ligne par ADDNEW du BindingSource et l'ajout par NewRow et row.add() du DataRow
    C'est pareil

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Aujourd'hui, j'ai ouvert avec studio 2008 mon ancien programme qui fonctionne que j'ai fait sous Studio 2005. Je l'es compilé et ensuite installé et là je me retrouve avec la même erreur "L'opération doit utiliser une requête qui peut être mise à jour."

    La requête Sélect de mon adaptater est celle qui est standard soit ".fill"

    me.materielTableadaptateur.fill(me.gestiondeChargedataset.materiel)

    Mais sous 2008 il passe par un adaptatermanager, enfin je note tout ça correctement pour te le poster demain....


    Merci...

  9. #9
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par boby15000 Voir le message
    La requête Sélect de mon adaptater est celle qui est standard soit ".fill"
    Je te parle de la requête SQL ("SELECT ... FROM ... WHERE ...")

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 134
    Points : 69
    Points
    69
    Par défaut
    Holà,

    Bon suite à un plantage de PC je me vois dans l'obligation de refaire le programme .
    Ceci dit, si tu pouvais me donner conseil sur des cours où autres en Visual Basic EN VERSION TELECHARGEABLE UNIQUEMENT car je ne dispose pas internet facilement. Par exemple, je trouve que le cours de Philippe Lasserre est très bien, mais malheureusement il n'est disponible quand version onLine.

    Sur ceux, je te remercie d'avance...

    PS : j'espère trouvé ce problème un jour...

  11. #11
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    La plupart des cours sur developpez.com sont téléchargeables en PDF.
    http://dotnet.developpez.com/cours/?page=vbnet

    Pour celui de Philippe Lasserre, tu peux toujours utiliser un "aspirateur de site", genre Teleport Pro (c'est ce que j'utilisais il y a quelques années, il y a peut-être mieux depuis...)

Discussions similaires

  1. mise a jour des données impossible avec soapconnection
    Par amireve dans le forum Web & réseau
    Réponses: 10
    Dernier message: 04/02/2010, 20h28
  2. [JTable] mise à jour des données
    Par tripop dans le forum Composants
    Réponses: 3
    Dernier message: 04/02/2009, 19h52
  3. Mise à jour des données
    Par Alex063 dans le forum Access
    Réponses: 6
    Dernier message: 31/01/2006, 18h16
  4. MySqlDAC et mise à jour des données
    Par charliejo dans le forum C++Builder
    Réponses: 4
    Dernier message: 02/01/2006, 10h25
  5. mise à jour des données toutes les semaines...
    Par Toff !!!!! dans le forum Access
    Réponses: 20
    Dernier message: 22/12/2005, 12h38

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