Descriptor (TQueryExecuteTask)
De Wiki1000
(Différences entre les versions)
(→exporter) |
|||
Ligne 1 : | Ligne 1 : | ||
− | + | ||
+ | __TOC__ | ||
+ | __TOC__ | ||
<source lang='delphi'>property Descriptor:TfwxmlDocument;</source> | <source lang='delphi'>property Descriptor:TfwxmlDocument;</source> | ||
Cette propriété contient le descriptif d'exportation. | Cette propriété contient le descriptif d'exportation. | ||
− | + | La structure d'un descripteur d'exportation est la suivante : | |
+ | |||
+ | <source lang="xml"> | ||
+ | <root> | ||
+ | <title>...</title> | ||
+ | |||
+ | <queries> | ||
+ | <query>...</query> | ||
+ | ... | ||
+ | </queries> | ||
+ | |||
+ | <output>...</output> | ||
+ | |||
+ | <exporter>...</exporter> | ||
+ | |||
+ | <interface>...</interface> | ||
+ | |||
+ | <parameters> | ||
+ | <parameter>...</parameter> | ||
+ | ... | ||
+ | </parameters> | ||
+ | |||
+ | <statements> | ||
+ | <statement>...</statement> | ||
+ | ... | ||
+ | </statements> | ||
+ | <root> | ||
+ | </source> | ||
+ | |||
+ | ===Title=== | ||
+ | Titre du descriptif | ||
===queries=== | ===queries=== | ||
Cette section est une collection de requêtes (query) | Cette section est une collection de requêtes (query) | ||
− | ===query=== | + | ====query==== |
Cette section décrit une requête | Cette section décrit une requête | ||
Ligne 17 : | Ligne 49 : | ||
===exporter=== | ===exporter=== | ||
Cette section décrit le formatage des données exportées. | Cette section décrit le formatage des données exportées. | ||
+ | |||
+ | ===interface=== | ||
+ | Cette section indique que la classe principale du descriptif est une interface. | ||
+ | |||
+ | ===parameters=== | ||
+ | Cette section décrit des paramètres communs à toutes les requêtes. | ||
+ | |||
+ | ====parametre==== | ||
+ | |||
+ | ===statements=== | ||
+ | Cette section décrit des ajouts SQL générés lors de la création du code sql | ||
+ | |||
+ | ====statement==== | ||
Exemple : | Exemple : |
Version du 22 janvier 2020 à 08:20
Sommaire |
property Descriptor:TfwxmlDocument;
Cette propriété contient le descriptif d'exportation.
La structure d'un descripteur d'exportation est la suivante :
<root> <title>...</title> <queries> <query>...</query> ... </queries> <output>...</output> <exporter>...</exporter> <interface>...</interface> <parameters> <parameter>...</parameter> ... </parameters> <statements> <statement>...</statement> ... </statements> <root>
Title
Titre du descriptif
queries
Cette section est une collection de requêtes (query)
query
Cette section décrit une requête
output
Cette section décrit la destination de l'export
exporter
Cette section décrit le formatage des données exportées.
interface
Cette section indique que la classe principale du descriptif est une interface.
parameters
Cette section décrit des paramètres communs à toutes les requêtes.
parametre
statements
Cette section décrit des ajouts SQL générés lors de la création du code sql
statement
Exemple :
Création dynamique de descriptif d'exportation :
//Function CreateDescriptor():TxmlDocument; var itr,itqs,itq,itt,itcs,itc,itu,itvs,itv,itas:TxmlItem; begin Result := TxmlDocument.Create(nil); itr := TxmlItem.Create(Result); itr.ItemName := 'root'; // Add a main query // main is the default query name // itqs := itr.AddItem('queries'); itq := itqs.AddItem('query'); itq.AddItems(['QueryName','ClassName'],['main','WfClasseA']); // Filtering // itq.AddItemText('Filter','(unBool=%1)'); itas := itq.AddItem('Args'); itas.AddItemSerializedVariant('Arg',True); // serializedValue for boolean true // Output // itt := itr.addItem('output'); itt.AddItemText('ExportColumns','true'); // Columns // itcs := itt.AddItem('columns'); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCode','Code']); // itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unBool','Boolean']); // Translate value list // itvs := itc.AddItem('values'); itv := itvs.AddItem('value'); itv.AddAttribute('oldValue','N'); itv.AddAttribute('newValue','false'); // itv := itvs.AddItem('value'); itv.AddAttribute('oldValue','O'); itv.AddAttribute('newValue','true'); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unCompteur','Compteur']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEntier','Entier']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unEtat','Enuméré']); itc := itcs.AddItem('column'); itc.AddItems(['PropName','Title'],['unDouble','Double']); // Define which exporter to used // CSV for excel csv format // itu := itr.AddItem('exporter'); itu.AddItems(['ClassName'],['TCSVExporter']); end;
Affectation du descriptif à l'instance :
//Procedure Test; var qbe:TQueryExecuteTask; doc:TxmlDocument; begin qbe := TQueryExecuteTask.Create; doc := CreateDescriptor(); AStr := doc.SaveToString; // Do not create the descriptor directly inside the Descriptor.document // instead, use an intermediate document. // This will recreate the document with the correct internal item classes // qbe.Descriptor.Document.LoadFromString(AStr); ... end;
Voir aussi: