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 :

Type des objets contenu dans un datatable


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Par défaut Type des objets contenu dans un datatable
    Bonjour, je recupere les données issues d'un datatable
    comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DataTable dt = dataAccess.GetRowTable("Result", "Filename", _fileName);
    string pr = dt.Rows[0]["var1"].ToString();
    cela marche a merveille,
    seulement, je recupere var1 qui est un double dans un string,

    sachant que dans ma base donnée, chaque colomne a un type predefini.
    je voudrais garder le type defini dans la base


    ma question :
    comment recuperer le type de donnée, pour instancier mes objets sans passer par des strings???

    merci

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    Salut,
    je ne connais pas cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dataAccess.GetRowTable("Result", "Filename", _fileName);
    mais si ton DataTable est typé, l'information se trouve dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dt.Columns["var1"].DataType

  3. #3
    Membre confirmé Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Par défaut
    Merci,
    en fait, le mieux est de faire comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object pr = dt.Rows[0]["var1"];
    ensuite en mode pas à pas on arrive a voir le type de l'objet,
    reste plus qu'a faire la convesion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int pr = (short)dt.Rows[0]["var1"];
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    double pr = (double)dt.Rows[0]["var1"];
    ou bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    stringpr = (short)dt.Rows[0]["var1"].ToString();

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    exact, mais si tu veux faire ca dynamiquement, récupérer le datatype est très pratique.

    une fois que tu as le type, il te suffit de le comparer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if (dt.Columns[NomColonne].DataType == typeof(string))
    {
         UneAutreLigne[NomColonne] = dt.Rows[0][NomColonne].ToString();
    }
    else if (dt.Columns[NomColonne].DataType == typeof(int))
    {
         UneAutreLigne[NomColonne] = Convert.ToInt(dt.Rows[0][NomColonne]);
    }
    //etc...

  5. #5
    Membre confirmé Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Par défaut
    Bien recu
    Merci

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

Discussions similaires

  1. [Débutant] Type d'objet contenu dans un arrayList
    Par rockley dans le forum C#
    Réponses: 10
    Dernier message: 05/03/2012, 11h36
  2. Réponses: 21
    Dernier message: 03/06/2010, 18h26
  3. Définir le type des données contenues dans une TextBox
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/06/2009, 15h15
  4. Réponses: 6
    Dernier message: 14/11/2007, 15h51
  5. Réponses: 2
    Dernier message: 20/02/2004, 08h47

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