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

ASP.NET Discussion :

Valeur retournée par GetFieldType


Sujet :

ASP.NET

Vue hybride

Delphi-ne Valeur retournée par... 21/07/2007, 10h48
Kelpan Y a pas d'énumération... ... 21/07/2007, 11h14
Delphi-ne Merci Effectivement c'est ce... 21/07/2007, 12h30
Kelpan Oui, en effet il y a une... 21/07/2007, 19h37
Kelpan Tout compte fait, je me rends... 21/07/2007, 19h45
Delphi-ne Je m'en étais sorti en... 21/07/2007, 21h05
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut Valeur retournée par GetFieldType
    Je voudrais pouvoir analyser le type d'un champ retourné dans un DataReader
    Quelque chose comme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            LN_IndiceChamp = pData.GetOrdinal(pNomChamp)
            Select Case pData.GetData.GetFieldType(LN_IndiceChamp)
                case 
            End Select
    Je n'arrive pas à trouver la valeur à tester (à mettre après le Case)
    Toutes les aides que je trouve sur Internet parlent de Type mais n'en donnent pas l'énumération
    Merci d'avance à qui pourra m'aider

  2. #2
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Y a pas d'énumération...

    Tu peux tester les types qui t'interesse le plus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
            Dim objType As Type
     
            LN_IndiceChamp = pData.GetOrdinal(pNomChamp)
            objType = pData.GetData.GetFieldType(LN_IndiceChamp)
    
            Select Case True
                Case TypeOf objType Is SmallInt
                Case TypeOf objType Is Int
                Case TypeOf objType Is String
                Case TypeOf objType Is Decimal
                Case TypeOf objType Is DateTime
                ' ....
            End Select

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut
    Merci
    Effectivement c'est ce que je cherche à faire
    Le problème est que je me prends un message d'erreur à chaque ligne
    Sur les deux premières
    Type non défini

    Sur les autres
    L'expression de type System.Type ne peut jamais être de type String

    Faut-il que j'ajoute une ligne Imports en début de module ?

  4. #4
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Oui, en effet il y a une erreur. J'étais sur du Sql et j'ai confonfu les types

    smallint => Short
    int => Integer

    Pour le String, j'ai pas compris ?

  5. #5
    Membre émérite
    Inscrit en
    Août 2006
    Messages
    550
    Détails du profil
    Informations personnelles :
    Âge : 50

    Informations forums :
    Inscription : Août 2006
    Messages : 550
    Par défaut
    Tout compte fait, je me rends compte que la solution que je te propose ne marche pas

    Essaye ceci plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Select Case True
    Case objType Is GetType(Short)
    MsgBox("Short")
    Case objType Is GetType(Integer)
    MsgBox("Integer")
    Case objType Is GetType(String)
    MsgBox("String")
    Case objType Is GetType(Decimal)
    MsgBox("Decimal")
    Case objType Is GetType(DateTime)
    MsgBox("DateTime")
    ' ....
    End Select

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 184
    Par défaut
    Je m'en étais sorti en testant la variable avec le debugger et j'avais trouvé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            LO_Type = pData.GetFieldType(LN_IndiceChamp)
            Select Case True
                Case LO_Type.Name = "Int32"
    Je vais changer, l'autre exemple est plus propre.

    En tout cas merci

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

Discussions similaires

  1. comment comparer les valeurs retournés par DBGrid
    Par Ice-tea dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/06/2006, 14h42
  2. Réponses: 1
    Dernier message: 22/05/2006, 11h27
  3. [SQL] Valeur retournée par une requête...
    Par Empty_body dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/01/2006, 22h13
  4. VB6 --> Valeurs retournées par une comboBox
    Par the java lover dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 13/12/2005, 16h26
  5. valeur retournée par un .js
    Par astrofiles dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/08/2005, 10h20

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