Pour Serge,
Bonjour,
Voici le petit programme pour la gestion des indexes directement sur les dbGrids (i.e. sans modifier les requêtes d'affichage).
La base SQLite se crée automatiquement (le répertoire, le fichier.db vide et les enregistrements).
Elle est en VCL avec les drivers SQLite 3.8.7 Win32 et Win64 (fournis dans le zip - par défaut 32). Téléchargement : ici.
Quelques remarques
La base est en VARCHAR
- la gestion des accents est correcte au niveau du tri (voir les prénoms)
- la gestion des NOMS est un tri par NOM et PRENOM (voir le code)
PS
- Fonctionne en mode debug même si la base est déjà créée. Mais pas en release car dans ce cas là :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 except {$IFDEF DEBUG} on E: EFDDBEngineException do Showmessage(E.Errors[0].Message); {$ELSE} Close; MessageDlg( 'Création des tables internes impossible. ' + 'Le programme va s''arrêter.', TMsgDlgType.mtError, [TMsgDlgBtn.mbOK], 0); Application.Terminate; {$ENDIF} end;- A tester -> Sur une grande base, comment cela-fonctionne-t-il ? Impact ou non de l'utilisation de la propriété CachedUpdate signalée par Thierry Laborde dans une autre discussion.
- En ToDo List -> Comment fait-on cela en FireMonkey (la flèche incrustée dans l'entête indiquant le sens de la colonne triée) ? Avec les styles ? J'ai fait l'équivalent en Lazarus avec un champ de recherche également intégré dans l'entête... Mais sans rapport aucun avec FMX
On étudiera cela aux prochaines vacances.


Répondre avec citation






méa culpa , méa maxima culpa . Avec une table que je connais bien (pratique car petite et uniquement varchar)
commence mal) . Faire le monitoring sur une grosse base (et j'en ai une de la vie réelle , locale ou "déportée") répondrai également au questionnement sur le CacheUpdate .
il me faudra les reprendre) 






Partager