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

Dotnet Discussion :

Parcourt d'un recordset se comporte différement selon OS


Sujet :

Dotnet

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Parcourt d'un recordset se comporte différement selon OS
    Bonjours,

    je viens poster ici, car je suis devant une intrigue. J'ai un programme qui va chercher un set de données dans une base SQl et je les stocks dans un objet de type ADODB.recordset.
    Ensuite je met ces données dans un datagridview. Alors sur les systèmes d'exploitation Windows 7, je n'ai aucun problème. Par contre nous remplaçons nos pc petit à petit par des Windows 10
    et là je remarque que le programme n'affiche pas les données dans le datagridview.

    voici le code exécuté :

    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
    16
    Do While Not .EOF
                        MSFlexGrid1.Rows.Add(strZero(.Fields("MhNoMarche").Value.ToString(), 5), _
                            .Fields("MHReferEco").Value.ToString(), _
                            .Fields("MHintitule").Value.ToString(), _
                            GlossLect("TYD", .Fields("MHtypeDoss").Value.ToString()), _
                            GlossLect("SRV", .Fields("MHService1").Value.ToString()), _
                            .Fields("MHService2").Value.ToString(), _
                            .Fields("MHmod_Type").Value.ToString() & .Fields("MHmod_Mode").Value.ToString() & .Fields("MHmod_Publ").Value.ToString() & .Fields("MHmod_Serv").Value.ToString(), _
                            FormEurFix(.Fields("MHmontt_Tc").Value.ToString(), 10) & CStr(IIf(.Fields("MHsuivPlaf").Value.ToString() = "D", SufPlaf, String.Empty)), _
                            .Fields("MHecon_cod").Value.ToString() & .Fields("MHcmpt_cod").Value.ToString() & .Fields("MHdfin_cod").Value.ToString() & LCase(.Fields("MHavis_aut").Value.ToString()) & .Fields("MHavis_cod").Value.ToString() & .Fields("MHbonc_cod").Value.ToString() & CStr(IIf(CBool(.Fields("MHflagBloq").Value.ToString()), "b", "_")), _
                            .Fields("MhVuParDfin").Value.ToString())
                        IcCpt = IcCpt + 1
                        ReDim Preserve TabBMarch_No(IcCpt)
                        TabBMarch_No(IcCpt) = .Fields("MhNoMarche").Value.ToString()
                        .MoveNext()
                    Loop
    quand je débogue sur mon pc windows 7 tout se passe bien. Quand je débogue sur la machine Windows 10 voici l qui lève une exception :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Fields("MhVuParDfin").Value.ToString()
    {"Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé."}
    Je vous assure que le champ existe bel et bien dans la table en question.
    Dans le doute voici un printscreen de ce que j'ai expliqué :
    Nom : Sans titre.png
Affichages : 92
Taille : 165,0 Ko

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    petit up

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    pourquoi utiliser un recordset fait pour vb6 (il y a environ 20 ans) alors qu'il y a des choses prévues pour les accès aux données en .net qui sont beaucoup mieux ?
    surtout que quand on peut éviter d'utiliser du COM on le fait ...

    au delà du fait que ca ne se fait pas, tu ne trouveras pas grand monde pour te répondre vu que "personne" ne fait ça ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    tout simplement parce qu'à l'origine le programme était en vb6 et que nous l'avons juste converti en .NET pour le maintenir un peu plus facilement.
    Si nous devons revoir tout les accès à la DB a la "sauce .NET" il faut repenser l'architecture du l'applic et nous n'en avons malheureusement pas le temps.

  5. #5
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    garder ne serait qu'une sub de vb6 en vb.net c'est déjà limite ... alors une conversion de toute une appli ...

    sinon tu peux aller poser ta question sur le forum vb6 à tout hasard pour voir si certains ont eux des soucis avec w10
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Ok je vais aller poser la question sur le forum vb6
    Merci à toi

Discussions similaires

  1. SimUnlockPhone comportement différent selon les téléphones
    Par bobby51 dans le forum Windows Mobile
    Réponses: 0
    Dernier message: 29/04/2011, 10h43
  2. Réponses: 7
    Dernier message: 15/02/2010, 21h52
  3. Comportement différent selon le lanceur
    Par michelcky dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 03/10/2008, 19h03
  4. Comportement différent selon Mode Execution
    Par MarronSuisse dans le forum C
    Réponses: 7
    Dernier message: 14/04/2008, 12h52
  5. sprintf (comportement bizarre selon le compilateur)
    Par turbo_chess dans le forum C
    Réponses: 6
    Dernier message: 11/10/2007, 15h24

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