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

Bases de données Delphi Discussion :

Création d'index sur un TTable


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut Création d'index sur un TTable
    Bonjour,

    J'ai un TTable posé sur une fiche.
    Je cherche à créer dynamiquement des champs et des indexs dans cette table.

    Opération1
    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
     
    with MyTable do
      begin
        Active := FALSE;
        FieldDefs.Clear;
        IndexDefs.Clear;
        //
        FieldDefs.Add('Champ01',ftInteger);
        FieldDefs.Add('Champ02',ftInteger);
        FieldDefs.Add('Champ03',ftInteger);
        //
        // Création d'un index pour pouvoir trier
        //IndexDefs.Add('Idx','Champ01;Champ02',[ixPrimary]);
        //IndexName := 'Idx';
        //
        Active := TRUE;
        //
      end;
    Aucun problème, le tri se fait correctement.
    Ensuite, j'ai besoin d'effacer les champs de la table et d'en mettre d'autres :
    Opération 2
    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
     
    with MyTable do
      begin
        Active := FALSE;
        FieldDefs.Clear;
        IndexDefs.Clear;
        //
        FieldDefs.Add('Champ11',ftInteger);
        FieldDefs.Add('Champ12',ftInteger);
        FieldDefs.Add('Champ13',ftInteger);
        //
        // Création d'un index pour pouvoir trier
        //IndexDefs.Add('Idx','Champ11;Champ12',[ixPrimary]);
        //IndexName := 'Idx';
        //
        Active := TRUE;
        //
      end;
    Aucun problème de syntaxe, les champs sont bien créés, j'ai bien accès aux données, par contrer aucun tri ne se fait .

    J'ai l'impression qu'une fois qu'un index a été affecté dynamiquement à une table, il est impossible d'en définir un nouveau...

    Je tourne en rond...pouvez vous m'éclairer ?

    --
    Benoit

  2. #2
    Rédacteur
    Avatar de Giovanny Temgoua
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2003
    Messages
    3 830
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2003
    Messages : 3 830
    Points : 4 006
    Points
    4 006
    Par défaut
    Salut,

    Essaie d'ouvrir la table en mode exclusif et de faire un IndexDefs.Update avant de créer le nouvel index.

    A+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2003
    Messages
    72
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 72
    Points : 54
    Points
    54
    Par défaut
    J'ai essayé ce que tu m'as indiqué mais celà ne fonctionne pas...

  4. #4
    rsc
    rsc est déconnecté
    Membre éprouvé
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Points : 918
    Points
    918
    Par défaut
    Qu'y a-t-il derrière ton composant TTable ? C'est-à-dire : la table auquel il est relié à une table existe-t-elle, ou veux-tu la créer ? D'autre part, de quel SGBD s'agit-il ?

    Roland
    Roland

Discussions similaires

  1. [EG] Création d'index sur tables
    Par hoccha dans le forum Outils BI
    Réponses: 2
    Dernier message: 16/03/2011, 16h19
  2. Création d'index sur une colonne TEXT
    Par AyManoVic dans le forum Requêtes
    Réponses: 2
    Dernier message: 03/08/2010, 00h12
  3. Création d'index sur attribut booléen
    Par alex2746 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/05/2010, 14h08
  4. Réponses: 3
    Dernier message: 01/04/2009, 10h47
  5. Création d'index sur tables avec 400000 rows
    Par Poisson59 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/07/2007, 13h53

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