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

C# Discussion :

Tentative d'appel de CheckDataIsReady non valide lorsque le lecteur est fermé.


Sujet :

C#

  1. #1
    Invité
    Invité(e)
    Par défaut Tentative d'appel de CheckDataIsReady non valide lorsque le lecteur est fermé.
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
           public MODEL.LITModel GetInfoLIT(int k1, int k2, int k3, int k4, int k5,int k6, int k7, int k8)
            {
                MODEL.LITModel result = new MODEL.LITModel();
                try
                {
                    this.OpenConnection();
                    string request = @"SELECT LIT0001,LIT0002 , LIT0003,TT8710,TT8720,TT8730,WT8730_WD,WT8730_WS
                                        FROM LIT_TT_WT
                                        WHERE  id  = (Select TOP 1 id FROM LIT_TT_WT ORDER BY id Desc)";
                    this.Cmd = new SqlCommand(request, Cnx);
                    SqlDataReader Rd = this.Cmd.ExecuteReader();
     
                    if (Rd.HasRows)
                    {
                        Rd.Read();
                        result = new MODEL.LITModel
                        {
                            LIT0001 = Rd.GetFloat(0),
                            LIT0002 = Rd.GetFloat(1),
                            LIT0003 = Rd.GetFloat(2),
                            TT8710 =  Rd.GetFloat(3),
                            TT8720 =  Rd.GetFloat(4),
                            TT8730 =  Rd.GetFloat(5),
                            WT8730_WD = Rd.GetFloat(6),
                            WT8730_WS = Rd.GetFloat(7),
                        };
                    }
                    Service.modbusRegistre[k1] = Rd.GetFloat(6);
                    Service.modbusRegistre[k2] = Rd.GetFloat(7);
                    Service.modbusRegistre[k3] = Rd.GetFloat(0);
                    Service.modbusRegistre[k4] = Rd.GetFloat(1);
                    Service.modbusRegistre[k5] = Rd.GetFloat(2);
                    Service.modbusRegistre[k6] = Rd.GetFloat(3);
                    Service.modbusRegistre[k7] = Rd.GetFloat(4);
                    Service.modbusRegistre[k8] = Rd.GetFloat(5);
     
                }
                catch (Exception ex)
                {
                    result = new MODEL.LITModel();
                }
                finally
                {
                    this.CloseConnection();
                }
                return result;
            }
    bonjour, j'arrive pas à lire les donnée à partir de la bdd, je passe directement à catch au niveau de cette ligne result = new MODEL.LITModel

    exception : {"Tentative d'appel de CheckDataIsReady non valide lorsque le lecteur est fermé."}

    vous avez des solution à mon probléme

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    Ce catch provient sans doute de code en amont de ce que tu nous montres (la ligne dont tu parles précède le catch visible). Difficile de te dire pourquoi en aveugle...

  3. #3
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 897
    Points : 1 913
    Points
    1 913
    Par défaut
    Pourquoi as-tu des appels à Rd.GetFloat en-dehors du if (Rd.HasRows) ?

    Accessoirement tu peux avantageusement remplacer
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    Select TOP 1 id FROM LIT_TT_WT ORDER BY id Desc
    par
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT MAX(id) FROM LIT_TT_WT

Discussions similaires

  1. Appel de macro non valide
    Par yvidal dans le forum Macro
    Réponses: 2
    Dernier message: 14/05/2019, 11h11
  2. Réponses: 0
    Dernier message: 03/05/2015, 01h31
  3. Réponses: 8
    Dernier message: 30/07/2013, 15h58
  4. Réponses: 3
    Dernier message: 30/01/2011, 14h14
  5. Réponses: 7
    Dernier message: 19/10/2007, 14h24

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