Pagine ASP parte 3 I data base Stefano Schacherl.

Slides:



Advertisements
Presentazioni simili
Elaborazione di Franco Grivet Chin
Advertisements

Accesso ai dati su Relational Database Management Systems LSA - Laboratorio di Sistemi Informativi Economico-Aziendali Salvatore Ruggieri Dipartimento.
DBMS (DataBase Management System)
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
PHP.
Utilizzare PHP 5 Corso Interazione Uomo – Macchina AA 2005/2006.
Corsi per il personale Bicocca-Insubria
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Esercitazioni del Corso di Sistemi Informativi Marina Mongiello
Database nel Web Modulo Didattico: Francesca Platania
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Active Server Pages.
1 IT FOR BUSINESS AND FINANCE ACCESS INTRODUCTION.
File.
Corso di Informatica (Basi di Dati)
1 Corso di Laurea in Biotecnologie Informatica (Basi di Dati) SQL: Data Manipulation Language (DML) Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi,
Basi di dati. Vantaggi degli archivi digitali Risparmio di spazio: sono facilmente trasferibili e duplicabili Risparmio di tempo: si può accedere ai dati.
Access: Query semplici
Array Struttura numerate di dati. Memorizzare molti dati In informatica cè spesso bisogno di memorizzare ed elaborare un insieme costituito da molti dati.
Corso di Informatica A.A Corso di Informatica Laurea Triennale - Comunicazione&Dams Dott.ssa Adriana Pietramala Dott.ssa.
Manipolazione dei dati I comandi SQL che permettono di modificare il contenuto di una base di dati sono insertdeleteupdate insert ha la seguente sintassi:
Daniel Stoilov Tesi di Laurea
Il linguaggio ASP Lezione 3 La connessione al database con ASP
JDBC(TM) Database Access
SELECT STATEMENT Clausola WHERE permette di limitare il numero di record da estrarre SELECT */ [DISTINCT] colonna/ espressione [alias],… FROM table [WHERE.
Corso di PHP.
DBMS ( Database Management System)
Basi di dati Claudia Raibulet
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
C APITOLO 6 © 2012 Giorgio Porcu – Aggiornamennto 22/02/2012 G ESTIRE D ATI E C ARTELLE DI LAVORO Excel Avanzato.
Progettazione multimediale
Visual Basic e accesso ai DATABASE
Lezione 17 Riccardo Sama' Copyright Riccardo Sama' Access.
Progettare un database
Configurazione in ambiente Windows Ing. A. Stile – Ing. L. Marchesano – 1/23.
Realizzato da Roberto Savino
BIOINFO3 - Lezione 51 INSERIMENTO DEI DATI Visto come si creano le tabelle (sinora tristemente vuote), cominciamo ad occuparci di come riempirle con dei.
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Programma del Corso.
DATABASE Introduzione
Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino
Microsoft Access (parte 5) Introduzione alle basi di dati Scienze e tecniche psicologiche dello sviluppo e dell'educazione, laurea magistrale Anno accademico:
ASP – Active Server Pages Introduzione Pagine Web Statiche & Dinamiche(ASP)
Interrogare il database
Modulo 6 Test di verifica
Microsoft Access Query (II), filtri.
Pagine ASP parte 2 La gestione dei file Stefano Schacherl.
1 Università della Tuscia - Facoltà di Scienze Politiche.Informatica 2 - a.a Prof. Francesco Donini Accesso a basi di dati con ASP.
JavaScript Generalità Cos'è JavaScript?
1 Microsoft Access Gruppo di lavoro Alberti, Boldi, Gaito, Grossi, Malchiodi, Mereghetti, Morpurgo, Rosti, Palano, Zanaboni Informatica per laurea triennale.
Microsoft Access Maschere (II).
Programmazione Web PHP e MySQL 1. 2Programmazione Web - PHP e MySQL Esempio: un blog.
IV D Mercurio DB Lezione 2
Education & Training Training per Microsoft Access 97 Perché Education & Training ? Perché StartPoints crede nell’importanza strategica delle Risorse Umane.
Microsoft Access Query (III).
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
1 Basi di Dati S tructured Q uery L anguage Appunti Matteo Longhi.
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
Ordinamenti nelle query di ricerca. verso crescente e decrescente.
MySQL Database Management System
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
© 2015 Giorgio Porcu - Aggiornamennto 28/03/2015 UdA 1A Database Progettazione Fisica G IORGIO P ORCU
Microsoft Access Filtri, query. Filtri Un filtro è una funzione che provoca la visualizzazione dei soli record contenenti dati che rispondono a un certo.
Linguaggio SQL prima parte Linguaggio SQL prima parte A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright © Istituto Italiano.
Elementi di statistica con R e i database LEZIONE 2 Rocco De Marco rocco.demarco(a)an.ismar.cnr.it Ancona, 12 Aprile 2012.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
SQLite. Introduzione a SQLite Oltre alla possibilità di memorizzare informazioni persistenti attraverso Preferences e files, Android mette a disposizione.
* R AMAN K AZHAMIAKIN O SCAR Z G IOVANNI D E ITT M. B UONARROTI, T RENTO A NDROID D EVELOPMENT P ERSISTENZA.
ASP – Active Server Pages - 1 -Giuseppe Tandoi ASP – Active Server Pages Tecnologia per lo sviluppo di pagine dinamiche.
Transcript della presentazione:

Pagine ASP parte 3 I data base Stefano Schacherl

2 I DataBase Con ASP è possibile interfacciare uno script ad una fonte di dati che rispetti lo standard detto ODBC (Open Database Connectivity). L'accesso ad essi avviene grazie all'oggetto ActiveX Data Object (abbreviato ADO), che fornisce connettività verso tutti i tipi di database che supportino ODBC, mediante un driver apposito. In ASP è praticamente prassi l'utilizzo dei database di Access, non a caso prodotto sempre da Microsoft.

3 I DataBase ADO contiene: 7 oggetti: Connection Command Parameter Recordset Field Property Error 4 collezioni: Fields Properties Parameters Errors

4 I DataBase Gli oggetti più importanti sono Connection e RecordSet, che sono tra loro legati dal metodo Execute di Connection:

5 L'oggetto Connection ADODB è il tramite necessario per operare nelle pagine ASP, sia in lettura che in scrittura, su una fonte di dati ODBC. L'oggetto ActiveX che si occupa di fornire la connettività verso un database è Connection, che va dichiarato come un qualsiasi ActiveX: var ADOConn = new ActiveXObject("ADODB.Connection"); Tramite il riferimento ADOConn diventa possibile accedere a metodi e proprietà dell'oggetto Connection.

6 L'oggetto Connection L'oggetto Connection possiede numerose proprietà e metodi, tra i quali più importanti sono: Proprietà: ConnectionString(Contiene le informazioni utilizzate per stabilire una connessione a una fonte dati) Metodi: Open(Apre una connessione a una fonte dati) Execute (Esegue la particolare istruzione SQL passata al metodo mediante un parametro stringa) Close(Chiude un oggetto aperto)

7 L'oggetto Connection Riassumendo: per utilizzare l'oggetto Connection: var ADOConn = new ActiveXObject("ADODB.Connection"); per aprire il database: ADOConn.Open(strConn); passandogli un parametro strConn opportuno per eseguire operazioni SQL sul database: var ris = ADOConn.Execute(sql); passandogli un parametro sql opportuno per chiudere il database: ADOConn.Close();

8 L'oggetto Connection La stringa strConn (stringa di connessione) che si deve passare al metodo open in ADOConn.Open(strConn); è costituita da una serie di coppie chiave=valore, separate tra di loro con un punto e virgola. Nel caso tipico è necessario inserire in tale stringa due chiavi, che indicano: il formato di database utilizzato (" driver=… ") la sua locazione fisica nel file system del server (" dbq=… ").

9 L'oggetto Connection Ad esempio: var strConn = "driver={Microsoft Access Driver (*.mdb)}; dbq=" + Server.MapPath("mio.mdb"); E anche possibile passare altre informazioni (chiavi) nella stringa di connessione, ad esempio una password.

10 L'oggetto Connection Ci sono altre modalità di collegamento al database possibili; è possibile ad esempio registrare il database nell' ODBC del server assegnandogli un DSN (da pannello di controllo, icona ODBC, "DSN di sistema", ecc.) in modo da assegnargli un nome virtuale al nostro database, così da semplificare la stringa di connessione: var strConn = "nome_virtuale_db"; Per fare questo, però, bisogna avere accesso al Server e, ovviamente, non è sempre possibile.

11 L'oggetto RecordSet Il metodo Execute, come visto nell'esempio: var ris = ADOConn.Execute(sql); restituisce un riferimento ad un oggetto di tipo Recordset (che viene quindi creato automaticamente), che rappresenta una collezione di record del database. Ad esempio, con var ris = ADOConn.Execute("SELECT * FROM nominativi"); l'oggetto ris contiene tutti i campi di tutti i record presenti nella tabella nominativi del database. E' però possibile creare un oggetto RecordSet direttamente, che contenga l'intero db: ris = new ActiveXObject("ADODB.Recordset");

12 L'oggetto RecordSet I Recordset possono essere immaginati come vere e proprie tabelle di dati, dove ogni riga corrisponde ad un record, un po' come nella rappresentazione visuale di Access. I valori dei singoli campi del record evidenziato dal cursore sono leggibili tramite l'utilizzo della sintassi: ris("nome_campo") Per poter visualizzare i dati della tabella è quindi possibile sfruttare i metodi e le proprietà degli oggetti Recordset.

13 L'oggetto RecordSet Nell'esempio seguente viene mostrato l'uso di EOF e MoveNext: while (!ris.EOF) { Response.Write("Record n° " + ris("id") + " "); Response.Write("Nome: " + ris("nome") + " "); Response.Write("Cognome: " + ris("cognom e") + " "); ris.MoveNext(); } Quando si crea l'oggetto RecordSet si posiziona un "cursore" sulla prima riga della tabella; MoveNext() è il metodo che consente l'avanzamento alla riga successiva. La proprietà EOF (boolean) segnala la fine della tabella.

14 L'oggetto RecordSet Metodi principali: AddNew Close Delete Find Move MoveFirst - MoveLast MoveNext - MovePrevious Open Seek Update Proprietà principali: BOF (primo record del recordset) EOF (ultimo record del recordset) Index

15 Usare l'oggetto RecordSet o SQL? Per quel che riguarda le operazioni di ricerca, inserimento, modifica e cancellazione ci sono due "filosofie": 1. Si usa una stringa SQL nel metodo Execute dell'oggetto Connection per eseguire tutte le operazioni; si usa il RecordSet ottenuto da una ricerca solo per la visualizzazione. 2. Si crea un oggetto RecordSet e su di esso si fanno tutte le operazioni volute.

16 Usare l'oggetto RecordSet o SQL? Nel primo caso si possono fare operazioni complesse (ricerca tutti i record dove …, cancella il record nel quale il nome è...) con la scrittura di un'espressione SQL. Nel secondo caso si utilizzano le normali strutture di programmazione per la ricerca sul RecordSet, gestito in modo analogo ad un array di record. Noi utilizzeremo il primo metodo.

17 SQL Vediamo quindi come si eseguono ricerche, inserimenti, modifiche o cancellazioni su un database, utilizzando una stringa SQL nel metodo Execute dell'oggetto Connection. Dopo aver dichiarato un oggetto Connection ADOConn, si utilizza il metodo Execute: var ris = ADOConn.Execute(sql); passandogli una stringa sql, contenente un'istruzione SQL da eseguire. Cioè all'interno di questa stringa viene dichiarato al metodo Execute cosa fare.

18 SQL SQL (Structured Query Language) è un linguaggio che rappresenta lo standard per la definizione, l'interrogazione e la modifica dei database. La conoscenza dell'SQL esula dagli scopi di questo corso, ma per poter realizzare qualche applicazione è necessario vederne almeno qualche esempio.

19 SQL Recupero dati o interrogazioni (query) in SQL SELECT [ | * ] FROM [WHERE ] La condizione della clausola WHERE può essere una condizione semplice o composta, mediante gli operatori AND OR e NOT, da predicati semplici, in cui ciascun predicato rappresenta un confronto tra due valori.

20 SQL Esempi di ricerca: SELECT * FROM nominativi SELECT * FROM nominativi WHERE id > 3 SELECT * FROM nominativi WHERE id > 3 AND id < 15 SELECT * FROM nominativi WHERE nome = 'Carlo' SELECT nome,cognome FROM nominativi WHERE nome LIKE 'carlo' SELECT * FROM nominativi WHERE nome LIKE '%carlo' SELECT * FROM nominativi WHERE nome LIKE '%carlo%' SELECT * FROM nominativi WHERE nome LIKE '%carlo%' ORDER BY cognome SELECT * FROM nominativi WHERE nome LIKE '%carlo%' ORDER BY cognome DESC

21 SQL Operazioni di aggiornamento in SQL INSERT INTO [( )] VALUES ( ) Es: INSERT INTO STUDENTI VALUES (‘Anna’,‘Turchese’,355773,’IF’,’Via Piave, 7 - Treviso’) DELETE FROM WHERE Es: DELETE FROM STUDENTI WHERE Matricola=333878

22 SQL Operazioni di aggiornamento in SQL UPDATE SET = [ {, = ] [WHERE ] Es: UPDATE STUDENTI SET Codice = ‘IN’ WHERE Matricola > UPDATE nominativi SET [ ] = WHERE nome = 'Carlo' AND cognome = 'Rossi'

23 Riassunto PER INIZIARE: Si deve creare un'istanza dell'oggetto Connection: var ADOConn = new ActiveXObject("ADODB.Connection"); si apre quindi il database: var strConn = "driver={Microsoft Access Driver (*.mdb)}; dbq=" + Server.MapPath("mio.mdb"); ADOConn.Open(strConn); n.b: ADOConn e strConn sono nomi di variabili, mio.mdb è il nome (con il percorso relativo) del database.

24 Riassunto PER LEGGERE E VISUALIZZARE: Si deve usare il metodo Execute dell'oggetto Connection: var ris = ADOConn.Execute("SELECT * FROM nominativi"); Si visualizzare i campi dell'oggetto ris : while (!ris.EOF) { Response.Write(ris("nome") + " "); Response.Write(ris("cognome") + " "); ris.MoveNext(); } n.b: ovviamente la stringa SQL può estrarre anche una selezione di record (o di campi), ad esempio: "SELECT * FROM nominativi WHERE nome = 'Carlo'"

25 Riassunto PER INSERIRE UN RECORD: Si deve usare il metodo Execute dell'oggetto Connection: var ris = ADOConn.Execute("INSERT INTO nominativi VALUES (‘Anna’,‘Turchese’,’Via Piave, 7 - Treviso’)"); n.b: nella stringa i valori dei campi devono essere inseriti tutti, a meno di inserire i nomi dei campi: ("INSERT INTO nominativi (nome,cognome) VALUES (‘Anna’,‘Turchese’)"

26 Riassunto PER CANCELLARE UNO O PIU' RECORD: Si deve usare il metodo Execute dell'oggetto Connection: var ris = ADOConn.Execute ("DELETE FROM nominativi WHERE nome='Anna'"); PER MODIFICARE UNO O PIU' RECORD: Si deve usare il metodo Execute dell'oggetto Connection: var ris = ADOConn.Execute ("UPDATE STUDENTI SET nome = ‘Anna Maria’ WHERE cognome = 'Turchese'");

27 L'oggetto RecordSet Vediamo come fare se si desidera utilizzare l'oggetto RecordSet. Per iniziare (vale per tutti gli esempi): var ADOConn = new ActiveXObject("ADODB.Connection"); ADOConn.Open(strConn); RS = new ActiveXObject("ADODB.Recordset"); RS.Open("tabella",ADOConn,3,3); Al termine ci dovrà essere: RS.Close(); Inserimento nuovo Record: RS.AddNew; RS("nome")="Pippo"; … RS.Update();

28 L'oggetto RecordSet Cancellazione del Record nella posizione 3: RS.Move(2); RS.Delete; Modifica di un campo del Record nella posizione 2: RS.Move(1); RS(" ") = "pippo.it"; RS.Update(); Modifica del record nel quale un campo ha un determinato valore: while (RS("nome")!="Carlo") { RS.MoveNext(); } RS("nome")="GianCarlo"; RS.Update();

29 ESERCITAZIONE Progetto proposto: RUBRICA TELEFONICA / (realizzata con database) - o un altro db a piacere nb.: si dovrebbe realizzare una pagina base (HTML) che consenta di scegliere l'operazione desiderata (lista completa, ricerca, modifica, inserimento nuovi dati e cancellazione), attivando quindi la pagina (HTML) con un modulo che richiami una pagina asp opportuna:

30 ESERCITAZIONE MENU (html) visualizza aggiungi cancella modifica Modulo (ricerca tutto o ricerca secondo criteri) (html) Modulo (inserimento record) (html) Modulo (visualizza tutto e scelta record da cancellare) (html) Modulo (visualizza tutto e scelta record da modificare) (html) Pagina ASP