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 :

[GetSchema] Obtenir dans un DataSet le schema de chaque table d'une DB


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut [GetSchema] Obtenir dans un DataSet le schema de chaque table d'une DB
    Bonjour,

    J'aimerais obtenir le schema d'une base de données MS-SQL:


    en Gros avoir ce genre d'info :

    TABLE1
    id int
    name string
    ....
    TABLE2
    id int
    name string
    ....


    Le seul moyen que j'ai trouvé c'etait de lister les tables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select table_name as Name from INFORMATION_SCHEMA.Tables
    puis pour chaque table, faire appel à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SqlDataReader myReader = = dbf.ExecuteReader("Select * from TABLE1");
    DataTable dt = myReader.GetSchemaTable();

    j'obtiens alors un datatable que je met dans un DataSet.... Je trouve ca un peu lourd donc:

    Est ce la meilleurs methode ???

    ou existe t il un moyen simple pour recuperer tout le schema directement dans un dataset ?

    j'ai essayé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    System.Data.SqlClient.SqlConnection con =
                    new System.Data.SqlClient.SqlConnection("Data 
      Source=.;Integrated security=true");
    con.Open();
    System.Data.DataTable tbl = con.GetSchema("MetadataCollections");
    mais ca me renvoi pas dutout ce que je souhaite


    merci

  2. #2
    Membre très actif Avatar de fally
    Homme Profil pro
    Développeur .Net / BI
    Inscrit en
    Novembre 2007
    Messages
    966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Développeur .Net / BI

    Informations forums :
    Inscription : Novembre 2007
    Messages : 966
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select so.name LaTable,sc.name LeChamp,st.name TypeChamp 
    from sysobjects so,syscolumns sc,systypes st
    where so.id  = sc.id
    and  sc.xtype = st.xtype
    and so.xtype = 'U'

Discussions similaires

  1. [phpMyAdmin] bug ou lenteur dans le chargement de la liste des tables/vues une fois choisi la base
    Par clavier12AZQSWX dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 23/06/2009, 23h58
  2. Réponses: 1
    Dernier message: 06/04/2005, 15h09
  3. [C#] Ajout d'une ligne dans un dataset
    Par frechy dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/12/2004, 09h35
  4. [C#] Ajout de DataTable dans un DataSet
    Par pc152 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 31/08/2004, 09h22
  5. Réponses: 7
    Dernier message: 18/06/2004, 09h58

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