Query

Una query è un’interrogazione sui dati presenti nel database. Essa si presenta con una finestra di parametri che l’operatore deve utilizzare per specificare la sua richiesta (vedi esempio sotto riportato):

La sua definizione è attuata per tramite di un XML con:

  • classe sql
  • subclasse il nome (o numero) che si intende dare alla query

la query così definita è avviabile mediante il comando diretto sqnomequery (ad es. la query definita con classe sql e nome prova può essere avviata con il comando sqprova, per chi preferisse la numerazione delle query, la query definita con classe sql e numero 23 può essere avviata con il comando sq23).

La struttura principale di un XML che definisce una query è la seguente che definisce i seguenti ambiti:

  • le stringhe SQL per la esecuzione della query;
  • la definizione del modo con cui i campi estratti devono essere visualizzati;
  • la definizione dei parametri di selezione;
  • la definizione degli eventuali layout di stampa (report) associati alla query.
<?xml version="1.0" encoding="UTF-8"?>
<root>
  <caption>il titolo della query</caption>
  <strselect>il costrutto select della query</strselect>
  <strwhere>la condizione where della query</strwhere>  
  <strgroup>il costrutto group by della query</strgroup>
  <strhaving>il costrutto having della query</strhaving>
  <strorder>il costrutto di ordinamento della query</strorder> 
  <execmode>tipo di output prodotto</execmode>
  <preferredexecmode>il tipo di output preferenziale</preferredexecmode>
  <keyfieldname>nome del campo chiave</keyfieldname>
  <detailformxml>form di dettaglio</detailformxml>
  <detailformmode>modo di apertura form dettaglio</detailformmode>
  <detailformwidth>larghezza form dettaglio</detailformwidth>
  <detailformheight>altezza form dettaglio</detailformheight>
  <toolpalette>eventuale palette degli strumenti</toolpalette>
  <preparefunction>funzione da eseguire prima dell'esecuzione della query</preparefunction>
  <prepareinclude>file php che contiene la classe/funzione da eseguire prima dell'esecuzione della query</prepareinclude>
  <prepareclass>classe contenente la funzione da eseguire prima dell'esecuzione della query</prepareclass>
  <postprocess>processo di post-elaborazione eseguito dopo la query e prima della produzione dell'output</postprocess>
  <coldefs>
    <nomecampo1>
      definizione primo campo
    </nomecampo1>
    ...
    <nomecampoN>
      definizione ultimo campo
    </nomecampoN>
  </coldefs>
  <selfields>
    <field>
      definizione primo campo per selezione
    </field>
    ...
    <field>
      definizione ultimo campo per selezione
    </field>
  </selfields>
  <reports>
    <report>
      definizione primo report di stampa
    </report>
    ...
    <report>
      definizione ultimo report di stampa
    </report>
  </reports>   
</root>