English
Instant Developer Foundation Documentazione
  • Tutorial applicazioni web
  • Scriviamo del codice

Eseguire query database nel codice

copia link
<< Video precedente
Apri in una finestra a tutto schermo.
Video successivo >>

Trascrizione

La logica documentale consente di non preoccuparsi delle operazioni fisiche svolte dall’applicazione verso il database ed anche come le istruzioni SQL necessarie vengono scritte; però è anche vero che oltre alle dinamiche documentali, potremmo avere necessità, di eseguire Query di selezione SQL, o Query di comando SQL nel codice : ad esempio se volessimo contare il numero di record recuperati in una tabella oppure ottenere un recordset di dati con JOIN tra tabelle o cancellare con una istruzione tutti i record che soddisfano un criterio; ecco che per queste ed altre necessità nel Visual Code Editor possiamo scrivere anche istruzioni SQL utilizzando questi costrutti:

select into variables: Esegue una query SQL il cui risultato sarà al massimo 1 record, ed i valori dei campi verranno attribuiti a variabili.

for each select: Esegue una query SQL, il cui risultato potrà essere più di un record; l’istruzione è anche un ciclo così si possono analizzare i dati record per record.

select into recordset: Esegue una query SQL, il cui risultato potrà essere più di un record e verrà attribuito ad una variabile complessa di tipo Recordset; sarà possibile ciclare sui record del recordset con una logica a cursore ed analizzare le colonne (campi) di ogni record.

select into collection: Esegue una query SQL, il cui risultato potrà essere più di un record e verrà attribuito a una variabile complessa di tipo IDCollection: ogni record viene trasformato in documento.

Questo per quanto riguarda le Query di Selezione, vi è poi l’opportunità di eseguire anche Query di comando utilizzando:

  • insert into: L’istruzione consente di inserire nuovi record in una tabella
  • update: L’istruzione consente la modifica di record di una tabella
  • delete from: L’istruzione consente la cancellazione di record di una tabella

Nell'applicazione YouBb è presente un metodo documentale ancora da concludere, precisamente nel documento Prenotazione il metodo canBooking; il metodo deve restituire un valore boolean TRUE/FALSE ad indicare se l’appartamento è prenotabile oppure già occupato nel periodo indicato.

Per forza di cose per ottenere il risultato dobbiamo eseguire una query di selezione e siccome la risposta dal database sarà 1 record a 1 colonna possiamo utilizzare il costrutto select into variables.

Iniziamo a scrivere nel codice la query:

Select into variables
count()
From Prenotazione
Where idAppartamento = IDAPPARTAMENTO
ID != ID
Partenza > ArrivoDB and Partenza <=PartenzaDB
OR
Arrivo >= ArrivoDB and Arrivo < PartenzaDB
OR
Arrivo <= ArrivoDB and Partenza >= PartenzaDB

Ovviamente se il numero di prenotazione è maggiore di 0 significa che l’appartamento è occupato quindi canbooking sarà FALSE.

Utilizzando la logica documentale, di questi costrutti SQL non ne sentirete quasi mai il bisogno: sicuramente vi potrà capitare una necessità come quella che abbiamo visto insieme ed infatti l’istruzione select into variables è anche la più utilizzata rispetto alle altre.

Ultima modifica: 19/03/2021 / Validità: da 20.5.8000

Hai trovato utile l'articolo?

Grazie per il feedback!

Ti serve altro aiuto?

Consulta il Forum

Vedi anche

    Scarica il progetto di esempio You Bb Project.zip