DELPHI : Comment indexer ?

Fermé
Kam - 12 oct. 2001 à 19:33
 nbp - 12 oct. 2001 à 22:53
Comment indexer des tables (fichiers) (*.dbf,*.db) explécitement
ie en cas d'effacement volentaire des fichiers indexes comment les indexer par programme.

1 réponse

Slt Kam

Tu peux utiliser un TQUERY avec du code SQL

Ex pour créer la table employe.db (ex provenant de Delphi 4)

Tu créés un fiche sur laquelle tu places un TQUERY
Initailise la propriété DatabaseName de ce TQUERY puis la SQL ainsi :

CREATE TABLE "employee.db"
(
Last_Name CHAR(20),
First_Name CHAR(15),
Salary NUMERIC(10,2),
Dept_No SMALLINT,
PRIMARY KEY (Last_Name, First_Name)
)

Tu ajoutes ensuite un bouton standard et dans l'événement click tu mets :
query1.ExecSQL;

( En supposant que ton TQUERY se nomme query1 bien sûr)

Tu lances et tu cliques et hop une nouvelle table dans ta base : comme quoi les TQUERY peuvent faire autre chose que des SELECT.

Pour ajouter / recreer un index tu utilises encore le SQL (je te renvoie à la documentation de Delphi pour la syntaxe exacte)

Par ex le code suivant placer dans un TQUERY va créer un index sur la table employee.db

CREATE UNIQUE INDEX Namex ON "Employee.db" (Last_Name)

Evidemment il faut mieux tester au préalbale si l'index existe.
Sinon tu peux toujours placer la cde query1.exec; à l'intérieur d'un bloc try et gérer l'exception.

Voilà.

Ha oui au fait j'ai posé une question à propos du changement dynamique d'une barre d'outils dans ce forum. Si tu avais la réponse à ma question ce serait cool .. ;:)

@+
Philippe
0