Obtention d'informations sur les index
Remonter à Tri des enregistrements avec des index
Votre application peut obtenir des informations sur les index définis par le serveur à partir de tout ensemble de données de type table. Pour obtenir la liste des index disponibles pour l'ensemble de données, appelez la méthode GetIndexNames. GetIndexNames remplit une liste de chaînes avec des noms d'index valides. Par exemple, le code suivant remplit une boîte liste des noms de tous les index définis pour l'ensemble de données CustomersTable :
CustomersTable.GetIndexNames(ListBox1.Items);
CustomersTable->GetIndexNames(ListBox1->Items);
Remarque : Pour les tables Paradox, l'index primaire n'est pas nommé et n'est donc pas renvoyé par GetIndexNames. Vous pouvez quand même redéfinir en index primaire l'index d'une table Paradox, lorsque vous avez utilisé un autre index, en définissant la propriété IndexName par une chaîne vide.
Pour obtenir des informations sur les champs de l'index en cours, utilisez les propriétés
- IndexFieldCount, qui détermine le nombre de colonnes de l'index.
- IndexFields, qui examine la liste des composants champ des colonnes qui constituent l'index.
Le code suivant illustre l'utilisation des propriétés IndexFieldCount et IndexFields pour parcourir une liste de noms de colonnes dans une application :
var I: Integer; ListOfIndexFields: array[0 to 20} of string; begin with CustomersTable do begin for I := 0 to IndexFieldCount - 1 do ListOfIndexFields[I] := IndexFields[I].FieldName; end; end;
AnsiString ListOfIndexFields[20]; for (int i = 0; i < CustomersTable->IndexFieldCount; i++) ListOfIndexFields[i] = CustomersTable->IndexFields[i]->FieldName;
Remarque : IndexFieldCount n'est pas valide pour une table dBASE ouverte sur une expression d'index.
Voir aussi
- Spécification d'un index avec IndexName
- Création d'un index avec IndexFieldNames
- ADOdb.TADODataSet.GetIndexNames
- ADOdb.TADOTable.GetIndexNames
- Datasnap.DBClient.TCustomClientDataSet.GetIndexNames
- Bde.DBTables.TTable.GetIndexNames
- IBX.IBTable.TIBTable.GetIndexNames
- SQLExpr.TSQLConnection.GetIndexNames
- SQLExpr.TSQLTable.GetIndexNames