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 :

Adapter.Update(maTable) = System.Data.VersionNotFoundException


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut Adapter.Update(maTable) = System.Data.VersionNotFoundException
    Bonjour à tous,

    J'ai un petit soucis lors d'un update d'une dataTable via l'adapter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Adapter.Update(maTable)
    Je reçois cette exception :
    System.Data.VersionNotFoundException: Il n'y a pas de données Proposed auxquelles accéder.
    à System.Data.DataRow.GetProposedRecordNo()
    à System.Data.DataRow.GetRecordFromVersion(DataRowVersion version)
    à System.Data.DataRow.get_Item(Int32 columnIndex, DataRowVersion version)
    J'effectue actuellement un changement sur une application qui fonctionnait très bien avant et c'est lors de mes tests que je reçois cette exception.

    Ma table, pour mon test, ne contient qu'une seul ligne ajoutée et pour vérifier son état, j'ai tapé un petit bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
                        For Each rowpat As DataRow In _table.Rows
     
                            Debug.WriteLine("HasVersion Current : " & rowpat.HasVersion(DataRowVersion.Current))
                            Debug.WriteLine("HasVersion Default : " & rowpat.HasVersion(DataRowVersion.Default))
                            Debug.WriteLine("HasVersion Original : " & rowpat.HasVersion(DataRowVersion.Original))
                            Debug.WriteLine("HasVersion Proposed : " & rowpat.HasVersion(DataRowVersion.Proposed))
     
                            Debug.WriteLine("RowState : " & rowpat.RowState.ToString)
     
                        Next
    et j'obtiens :
    HasVersion Current : True
    HasVersion Default : True
    HasVersion Original : False
    HasVersion Proposed : False
    RowState : Added
    Donc l'erreur est cohérente car il n'y a effectivement pas d'état Proposed mais là où c'est incompréhensible, c'est qu'il n'est pas censé y en avoir pour une ligne Added

    En effet, si l'on va voir sur MSDN, la seul chose dont il ait besoin pour l'état Added est la version Default qui est Current :
    Default : The default row version for a particular row. The default row version for an Added, Modified, or Unchanged row is Current. The default row version for a Deleted row is Original. The default row version for a Detached row is Proposed.
    Et je rempli les conditions.

    En cherchant sur internet j'ai trouvé un correctif pour cette erreur mais il est pour le framework 1.1 et mon projet est sur le framework 4.0

    Merci à tous pour votre attention en espérant que vous pourrez m'aiguiller pour corriger cette erreur.

  2. #2
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    J'ai trouvé mon erreur

    En cherchant un peut plus loin j'ai trouvé qu'en faisant :
    Il mettait bien l'état Proposed sur la ligne et que du coup,lors de l’exécution, j'avais une autre erreur beaucoup plus explicite, un des paramètre de la commande était en trop. J'ai corrigé et viré le BeginEdit et tout est rentré en ordre.

    Dommage que la deuxième erreur ait été masquée par la première que je ne comprend pas, j'aurais gagné pas mal de temps (2h) sans cette dernière.

    Bonne journée.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 17/09/2006, 10h42
  2. [C#][Access 2003] Adapter.update()
    Par mschoum dans le forum Windows Forms
    Réponses: 13
    Dernier message: 28/07/2006, 08h54
  3. [C# 2.0/WIN CE 5.0] Pourquoi System.Data.SqlClient est introuvable ?
    Par Jones dans le forum Accès aux données
    Réponses: 3
    Dernier message: 05/07/2006, 09h14
  4. [VB.NET] Ou importer les namespaces com System.data.. ?
    Par beegees dans le forum Windows Forms
    Réponses: 5
    Dernier message: 09/06/2006, 11h06
  5. Réponses: 4
    Dernier message: 22/05/2006, 11h46

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