Query
copia linkUna query rappresenta un oggetto di codice in grado di inviare un’interrogazione al database per reperire o modificare i dati in esso contenuti. In base al tipo, può essere rappresentata dalle seguenti icone:
![]() |
Query di recupero dati: può rappresentare una vista, se è contenuta nel database, oppure una query legata alla presentazione di dati nell’interfaccia utente se contenuta in pannelli, grafici, alberi o report. Infine può rappresentare il modo con cui un documento si carica dal database se è contenuta in una classe di tipo documento. |
![]() |
Select Into Variable: questa query, utilizzabile in una procedura visual code, permette di recuperare dati (una sola riga) e assegnarli a variabili locali della procedura. |
![]() |
For-each-row: questa query, utilizzabile in una procedura visual code, permette di eseguire un ciclo sui risultati ottenuti dalla query stessa. |
![]() |
Select Into Recordset: questa query, utilizzabile in una procedura visual code, permette di recuperare un intero recordset di dati. |
![]() |
Update: questa query, utilizzabile in una procedura visual code, permette di modificare i record della tabella a cui si applica. |
![]() |
Delete: questa query, utilizzabile in una procedura visual code, permette di cancellare i record della tabella a cui si applica. |
![]() |
Insert Values: questa query, utilizzabile in una procedura visual code, permette inserire un nuovo record nella tabella a cui si applica. |
![]() |
Insert … Select: questa query, utilizzabile in una procedura visual code, permette di inserire più record nella tabella a cui si applica estraendoli da altre tabelle. |
![]() |
Union: questa query, utilizzabile in altre query di recupero dati, permette di creare un result set composto dall’unione dei risultati di più query. |
![]() |
Sub-query: questa query, utilizzabile in altre query, permette di specificare come risultati o condizioni di filtro delle espressioni calcolate tramite un’altra query correlata a quella principale. |
Video corso: Creazione viste database
Video corso: Eseguire query database nel codice
Normalmente le query vengono create e modificate tramite il visual code editor; è possibile aggiungere una vista al database tramite il menù contestuale dell’oggetto database.
Proprietà
Nome: rappresenta il nome logico della vista di database, così come sarà riconosciuta all'interno del progetto Instant Developer. Il nome dovrebbe essere indicativo sul contenuto della vista e dovrebbe essere in forma plurale (es. Utenti, Fatture, Ordini...) in quanto indica il nome comune degli oggetti che essa contiene. Se la query non rappresenta una vista, la proprietà Nome non è significativa.
Descrizione: contiene una descrizione significativa del contenuto della vista. Il testo inserito verrà utilizzato per comporre la documentazione del database e per il manuale utente, quindi è importante spiegare bene lo scopo della vista e che tipo di oggetti contiene, in modo da facilitarne il corretto utilizzo. Se la query non rappresenta una vista, la proprietà Descrizione non è significativa.
Titolo: è il nome che verrà utilizzato all’interno dell’interfaccia dell’applicazione quando ci si deve riferire ad oggetti contenuti nella vista. Normalmente viene lasciato vuoto ed, in questo caso, verrà usata la proprietà Nome. Se la query non rappresenta una vista, la proprietà Titolo non è significativa.
Elemento: è il nome del singolo oggetto contenuto nella vista, quindi è la forma singolare del nome della vista. Se, ad esempio, la vista contiene i dati degli utenti essa potrebbe avere come nome Utenti e come elemento Utente. E’ importante inserire un nome sintetico, formato da una o due parole in quanto esso verrà usato per comporre il nome completo delle colonne, quando esse sono riferite da un contesto esterno: nell’esempio precedente, il campo Nome verrà automaticamente chiamato Nome Utente da In.de.
Numero righe: rappresenta il numero di righe stimato della vista, almeno come ordine di grandezza.
Clausola distinct: impostando questo flag, la vista restituirà solo risultati diversi fra loro. Solitamente questa condizione si specifica scrivendo il token distinct nel visual code editor sulla parola select con cui inizia la query.
Non modificabile: valido solo per query di tipo vista, questo flag permette di bloccare la definizione della vista nei confronti di eventuali query scritte manualmente. In particolare verranno bloccati i nomi fisici (Codici) delle colonne della vista e della vista stessa.
Non eseguire: valido solo per query scritte all’interno del codice. La query viene preparata ma poi non viene eseguita. E’ possibile reperire il testo della query che sarebbe stata eseguita con la proprietà LastSQL.
Icona: è l’immagine con cui deve essere rappresentato un oggetto contenuto in questa vista. E’ consigliabile scegliere un’icona 16x16 pixel in formato gif. Impostando l’icona nell’oggetto vista non sarà necessario farlo nelle videate, nei menù o nei pannelli che ad essa si riferiscono.
Codice: rappresenta il nome fisico della vista all’interno del database. Se è attivo il check-box Automatico allora Instant Developer sceglierà un nome fisico adeguato e non dovrai preoccuparti che rimanga univoco.
Automatico: indica che il codice della vista viene calcolato e reso univoco in base al nome logico della stessa.
Menu contestuale
Aggiungi Colonna Calcolata: aggiunge una nuova colonna calcolata alla query; normalmente questo comando non viene usato perché la query viene modificata nel visual code editor.
Aggiungi Condizione: aggiunge una nuova condizione di filtro alla query; normalmente questo comando non viene usato perché la query viene modificata nel visual code editor.
Aggiungi Union: aggiunge una nuova query di union alla query; normalmente questo comando non viene usato perché la query viene modificata nel visual code editor.
Wizard/Mostra Dati: apre il wizard per la visualizzazione dei dati effettivamente contenuti nella vista e per l’esecuzione di query su di essa.
Aggiungi Cartella: aggiunge una cartellina all'interno della vista, che non avrà impatto a livello di schema di database, ma permette di organizzare meglio gli oggetti presenti nella vista stessa.
Aggiungi Attività: crea un nuovo oggetto attività collegato alla query. Serve come promemoria per modifiche future o per gestire il lavoro di gruppo.
Trova oggetti derivati: cerca tutti gli oggetti del progetto derivati dalla query, come videate, documenti, classi, pannelli, tabelle in memoria ecc. anche a più livelli di derivazione.
Trova dove usato (oggetto): cerca tutti i punti del progetto dove è stata direttamente riferita in qualunque modo questa query.
Trova dove usato (contenuto): cerca tutti i punti del progetto dove è stata direttamente riferita in qualunque modo questa query o uno degli oggetti in essa contenuti.
Attiva smart lookup: cambia la query di lookup rendendola scrivibile. Quando l'utente seleziona qualcosa tramite il campo di decodifica, il sistema modifica automaticamente il campo collegato alla query di lookup.
Disattiva smart lookup: cambia la query smart lookup rendendola non scrivibile. In quello stato la query funziona come una semplice query di decodifica.
Aggiungi campi ricerca: aggiunge alla query altri campi che possono facilitare la ricerca durante la modifica tramite la query stessa. Instant Developer aggiunge nella select list della query tutti i campi che non siano già presenti e che non siano primary key o foreign key, che siano lunghi almeno 8 caratteri e che non siano dotati di una lista valori.
Aggiorna Database: aggiorna fisicamente la vista nel database. In questo modo non è necessario compilare il progetto per ottenerne l’aggiornamento fisico.
Puoi tirare una query con il drag&drop su…
Altri oggetti allo stesso livello: sposta la vista vicino all’oggetto su cui hai tirato. Serve solo per riordinare gli oggetti nella lista.
per creare una copia della vista e posizionarla vicino all’oggetto su cui stai tirando.
Database: sposta la vista nel database su cui stai tirando. Questa operazione può avere un forte impatto applicativo.
crea una copia della vista all’interno del database su cui stai tirando.
Applicazione: crea una tabella in memoria con la stessa struttura della vista trascinata. E’ molto comodo per avere oggetti in memoria con lo schema di quelli sul database.
crea una videata pronta per la ricerca e la modifica dei dati della vista trascinata.
crea una videata di lookup per la ricerca e la selezione dei dati della vista trascinata.
crea un oggetto di tipo Documento derivato dalla vista trascinata.
Videata: crea una tabella in memoria con la stessa struttura della vista trascinata all’interno della videata su cui stai tirando.
aggiunge alla videata un pannello per mostrare o modificare i dati della vista stessa. Nella videata deve essere presente un riquadro vuoto per contenere il pannello. La vista può essere anche tirata direttamente sul riquadro all’interno del form editor.
Classe:
se la classe è di tipo documento, collega il documento alla vista tirata, sincronizzandone le proprietà e preparando i meccanismi di permanentizzazione e caricamento.
Tabbed view:
aggiunge alla tabbed view un pannello per mostrare o modificare i record della vista.
Procedura / funzione / evento: per creare una struttura dati locale alla procedura adatta a contenere un record della tabella.
Query:
aggiunge la vista tirata alla query.
aggiunge anche tutti i campi presenti nella vista come colonne ritornate dalla query.
Tabella in query: sostituisce la tabella selezionata nella query con la vista tirata. La query cambia di significato, alcune colonne o condizioni potrebbero non essere più valide.
Report: aggiunge la vista al report e crea le box per visualizzarne il contenuto nel libro. Premendo i tasti e è possibile ottenere un layout lista o dettaglio, con le intestazioni o meno.
Cartella: se la cartella è nello stesso database a cui appartiene la vista, allora essa verrà semplicemente spostata all’interno, altrimenti è come tirare la vista sull’oggetto che contiene la cartella. Se ad esempio la cartella su cui stai tirando è all’interno di un’applicazione è come tirare la vista sull’applicazione.
se la cartella è nello stesso database a cui appartiene la vista, allora essa verrà semplicemente spostata prima della cartella su cui stai tirando, allo stesso livello dell’albero.
se la cartella è nello stesso database a cui appartiene la vista, allora ne verrà creata una copia all’interno della cartella.
Ultima modifica: 16/11/2022 / Validità: da 8.5.3800