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

Accès aux données Discussion :

Récupération du type d'une colonne dans une base de données


Sujet :

Accès aux données

  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut Récupération du type d'une colonne dans une base de données
    Je voudrais récupérer le type d'une colonne dans la base de données avec laquelle je travaille (par exemple, trouver que la colonne "maColonne" de la table "maTable" de ma base OLE est de type OleDbType.Integer) Est-ce possible ? Je n'ai rien trouvé dans ce sens.

    Contexte :
    Je travaille sur des manipulations "générales" de base de données, c'est-à-dire je ne connais pas à l'avance le type de la base, ses tables, ses champs...
    Je voudrais construire plus ou moins automatiquement une commande paramétrée pour les mises à jour des tables. J'ai donc besoin de connaître le type d'une colonne dans la base, histoire d'utiliser les constructeurs de la forme: new OleDbParameter(string name, OleDbType dataType, int size, string srcColumn) où ce qui me manque est évidemment le dataType.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    L'absence de réponse signifie-t-elle que personne ne sait comment faire ?

    Pourtant il doit bien y avoir une fonctionnalité de ce genre quelque part dans la bibliothèque d'ADO.NET puisque le CommandBuilder sait déterminer les types des paramètres des commandes qu'il génère... Peut-être n'est-elle pas accessible ? Dommage en tous cas.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Bon ben j'ai fini par trouver, en cherchant autre chose (mais pourquoi donc ne trouve-t-on jamais ce qu'on veut au moment où on le cherche ?)

    Avec la méthode GetOleDbSchemaTable d'une OleDbConnection (pour les bases de type OLE bien sûr) on peut obtenir toutes sortes d'informations sur la base visée par la connexion.

    Pour les bases OLE :
    http://msdn2.microsoft.com/en-us/lib...hematable.aspx
    http://msdn2.microsoft.com/en-us/lib...chemaguid.aspx
    et il existe des classes similaires pour les autres types de bases.

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

Discussions similaires

  1. Copie d'une colonne d'une table dans une autre table
    Par sebi2k39 dans le forum Requêtes
    Réponses: 4
    Dernier message: 03/10/2011, 11h14
  2. [E-00] Syntaxe pour insérer une ligne ou une colonne dans une feuille
    Par Benjycool dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/02/2009, 09h27
  3. Réponses: 4
    Dernier message: 05/05/2008, 15h16
  4. Récupérer le nom d'une colonne d'une table dans une variable
    Par mimi51340 dans le forum Général Java
    Réponses: 4
    Dernier message: 13/03/2008, 14h23
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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