Bonjour à tous,
J'utilise Lazarus pour un projet personnel de création dynamique de formulaires (+ de 400 formulaires) avec gestion des accès concurrentiels.
Les formulaires comprennent :
* une grille lecture seule de 50 à 100 enregistrements (lazy loading) comprenant max 5 colonnes. La requête SQL n'informe que les 5 champs.
* des onglets et panels comprenant les restant des champs (+/- 100 champs TEdit) à afficher au fur et à mesure du parcours de la grille gauche. La requete SQL informe tous les champs (select *) concernant l'enregistrement en cours de la grille (where RowID = GrilleCrurrentID).
Je souhaite savoir quelle méthode est la plus intéressante/efficace/maintenable pour la lecture et l'affichage de données provenant d'une base PostgreSQL :
1- TSQLQuery + TDataSource avec remplissage auto de TDBGrid + TDBEdit + TDBText
2- TSQLQuery avec remplissage manuel de composants TStrinGrid et TEdit
3- TSQLQuery puis CopyFromDataset vers un composant TMemDataSet avec remplissage auto des composants TDBGrid + TDBEdit + TDBText
J'ai constaté de la lenteur avec la première méthode. La seconde demande pas mal de travail. Pour la troisième, beaucoup de posts parlent de la vitesse avantageuse de TMemDataSet. J'y vois également l'avantage de pouvoir utiliser des composants connectés.
Merci de me faire profiter de vos lumières.
Salim.
Partager