15.06.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!