Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Module Language<br />
…<br />
…<br />
f()<br />
…<br />
…<br />
..<br />
return<br />
..<br />
..<br />
Carnielli Efrem: Programmazione a componenti<br />
compilatore<br />
Figura 6.10. Compilazione <strong>di</strong> Module Language.<br />
Applicazioni Client-Server e database<br />
Classe<br />
(se si trattava <strong>di</strong><br />
Module<br />
Language per<br />
Java) oppure file<br />
oggetto (<strong>in</strong> caso<br />
<strong>di</strong> C)<br />
Si crea un modulo esterno con la def<strong>in</strong>izione <strong>di</strong> una procedura accompagnata da<br />
nome e parametri e un comando return che restituisce una riga o un <strong>in</strong>sieme <strong>di</strong><br />
righe della tabella. Di seguito si può vedere un frammento <strong>di</strong> co<strong>di</strong>ce <strong>di</strong> un Module<br />
Language.<br />
MODULE MODULE Inventory_access<br />
Inventory_access<br />
NAMES NAMES ARE ARE "Lat<strong>in</strong> "Lat<strong>in</strong>-1" "Lat<strong>in</strong> "Lat<strong>in</strong> 1"<br />
LANGUAGE LANGUAGE C<br />
SCHEMA SCHEMA Inventory<br />
Inventory<br />
/* segue la def<strong>in</strong>izione <strong>di</strong> una procedura da utilizzare per aggiornare i campi<br />
(nome, numero, ecc.) <strong>di</strong> un ipotetico <strong>in</strong>ventario. Da notare la consueta notazione<br />
per <strong>in</strong><strong>di</strong>care le variabili cioè ":"nome_variabile */<br />
PROCEDURE PROCEDURE add_part<br />
add_part<br />
(SQLSTATE,<br />
(SQLSTATE,<br />
:number :number INTEGER,<br />
INTEGER,<br />
:name :name VARCHAR(10),<br />
VARCHAR(10),<br />
VARCHAR(10),<br />
:count :count INTEG INTEGER, INTEG INTEG ER,<br />
:restocked :restocked DATE);<br />
DATE);<br />
INSERT INSERT INTO INTO Inventory<br />
Inventory<br />
VALUES VALUES (:number, (:number, (:number, :name, :name, :count, :count, :restocked)<br />
:restocked)<br />
:restocked)<br />
In java, la connessione al database management system (DBMS) si effettua<br />
passando i parametri per <strong>in</strong><strong>di</strong>viduare il server (url) e i dati per l’accesso (user e<br />
password):<br />
149