FireDAC.Phys.SQLiteVDataSet.TFDLocalSQL.MultipleCursors
Delphi
property MultipleCursors: Boolean read FMultipleCursors write FMultipleCursors default True;
C++
__property bool MultipleCursors = {read=FMultipleCursors, write=FMultipleCursors, default=1};
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
property | published | FireDAC.Phys.SQLiteVDataSet.pas FireDAC.Phys.SQLiteVDataSet.hpp |
FireDAC.Phys.SQLiteVDataSet | TFDLocalSQL |
Description
Contrôle le clonage et la copie de l'ensemble de données.
Utilisez la propriété MultipleCursors pour contrôler le clonage et la copie de l'ensemble de données.
SQLite crée un curseur permettant de gérer une requête vers un ensemble de données spécifique pour chaque référence dans une commande SQL local. L'API de TDataSet n'autorisant pas la navigation à travers le TDataSet dans différents curseurs simultanément, FireDAC clone un ensemble de données FireDAC en utilisant la table TFDMemTable, et copie un ensemble de données non FireDAC dans TFDMemTable. Cette TFDMemTable est ensuite utilisée pour implémenter le curseur. La copie est une opération qui prend beaucoup de temps.
Lorsque vous êtes certain que chaque ensemble de données recensé avec le moteur SQL local n'est utilisé que par un seul curseur à la fois, pour éviter la copie ou le clonage, définissez MultipleCursors sur False. Lorsque MultipleCursors est False et que le moteur SQL local a besoin de curseurs supplémentaires dans le même ensemble de données, une exception est déclenchée.
Remarque : En raison des limites du moteur SQLite, une opération de jointure avec un ensemble de données unidirectionnel peut générer une baisse de performance lorsque MultipleCursors est False.