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

Langage Delphi Discussion :

Composant ZeosLib : extraction structure BDD


Sujet :

Langage Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 114
    Points : 39
    Points
    39
    Par défaut Composant ZeosLib : extraction structure BDD
    Bonjour,

    j'utilise actuellement le composant ZeosLib (je développe sous Delphi) et j'aimerai obtenir la structure d'une BDD Access à l'aide du module ZSQLMetadata de ce composant mais je me retrouve avec des tables dites "système" en plus des tables normales.

    comment faire pour supprimer ces tables systèmes de ma liste ? (ou comment les différencier par rapport aux autres tables, avec ce composant)

  2. #2
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 114
    Points : 39
    Points
    39
    Par défaut
    Bon...en fait, la solution est toute simple, les tables systèmes ACCESS commencent toutes par "MSys" donc à partir de là, il suffit de parcourir toutes les tables et d'enlever toutes celle commençant par "MSys"

    Voici mon code pour ceux que ça intéresse :

    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
     
    procedure TForm1.FormShow(Sender: TObject);
    begin
      GetAllTableName;
    end;
     
    function TForm1.nosystemtable(Value: string): boolean;
    begin
      Result := Copy(Value, 1, 4) <> 'MSys';
    end;
     
    procedure TForm1.GetAllTableName;
    begin
        ComboBox1.Items.Clear;
        DataModule1.ZSQLMetadata1.Close;
          //DataModule1.ZSQLMetadata1.MetadataType := mdTables;
        if DataModule1.ZConnection1.Connected then
          DataModule1.ZSQLMetadata1.Open;
        while not  DataModule1.ZSQLMetadata1.Eof do begin
          if NoSystemTable(DataModule1.ZSQLMetadata1.FieldByName('TABLE_NAME').AsString) then
            ComboBox1.Items.Add(DataModule1.ZSQLMetadata1.FieldByName('TABLE_NAME').AsString);
          DataModule1.ZSQLMetadata1.NExt;
        end;
        DataModule1.ZSQLMetadata1.Close;
        if Combobox1.Items.Count > 0 then begin
          Combobox1.ItemIndex := 0;
        end;
    end;

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

Discussions similaires

  1. Récupération structure BdD
    Par Basicnav dans le forum SQL
    Réponses: 2
    Dernier message: 24/12/2008, 16h10
  2. lancement automatique d'une macro à partir d'une extraction de BDD
    Par SCHOLLERF dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/10/2007, 07h45
  3. [Conception] extraction md5 BDD, question !
    Par Fabouney dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 03/08/2006, 01h42
  4. le composant BDExpress et une bdd .GDP ?
    Par QAYS dans le forum Connexion aux bases de données
    Réponses: 7
    Dernier message: 05/05/2006, 20h54
  5. Installer composant ZeosLib pour Delphi 5 sur Delphi 4
    Par Harry dans le forum Composants VCL
    Réponses: 6
    Dernier message: 13/04/2006, 18h52

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