APPUNTI SU ADO (ACTIVEX DATA OBJECTS)



Похожие документы
MDAC. Attualmente la versione disponibile di MDAC è la 2.8 ma faremo riferimento alla 2.6. ADO Active Data Objects ADO OLE DB ODBC

Corso di Informatica Modulo T3 B2 - Database in rete

Uso dei data bases con PHP. Prof. Francesco Accaino Iis Altiero Spinelli Sesto Sa Giovanni

Data Base in Internet

I file di dati. Unità didattica D1 1

Raggruppamenti Conti Movimenti

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Open Database Connettivity (ODBC) Integrazione web-dbms. Open Database Connectivity (ODBC) Open Database Connectivity (ODBC)

Corso basi di dati ASP e i database

Uso delle tabelle e dei grafici Pivot

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

1. Le macro in Access 2000/2003

Dispensa di database Access

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

La tecnologia ASP.NET e i database

Registratori di Cassa

CREAZIONE DI UN DATABASE E DI TABELLE IN ACCESS

Microsoft Access. Microsoft Access

Abilità Informatiche A.A. 2010/2011 Lezione 9: Query Maschere Report. Facoltà di Lingue e Letterature Straniere

Università degli Studi di Verona. Laboratorio di Basi di Dati

Microsoft Access Maschere

Maschere. Microsoft Access. Maschere. Maschere. Maschere. Aprire una maschere. In visualizzazione foglio dati: Maschere

GERARCHIE RICORSIVE - SQL SERVER 2008

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Obiettivi del corso. Creare, modificare e formattare un semplice database costituito da tabelle, query, maschere e report utilizzando Access 2000.

Accesso a basi di dati con ASP. Algoritmo per visualizzare un DB

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Le query. Lezione 6 a cura di Maria Novella Mosciatti

I database relazionali (Access)

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

La Stampa Unione. Individuare la lista indirizzi per la Stampa Unione

Lezione 9. Applicazioni tradizionali

SQL Server Integration Services. SQL Server 2005: ETL - 1. Integration Services Project

5.2 UTILIZZO DELL APPLICAZIONE

Appunti sugli Elaboratori di Testo. Introduzione. D. Gubiani. 19 Luglio 2005

Al giorno d oggi, i sistemi per la gestione di database

Come modificare la propria Home Page e gli elementi correlati

Database Manager Guida utente DMAN-IT-01/09/10

Gestione Rapporti (Calcolo Aree)

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

Guida alla registrazione on-line di un DataLogger

Tricks & Tips. [Access] Tutorial - ActiveX - Controllo Tree View. - Michele de Nittis - Versione: 1 Data Versione: venerdì 30 agosto 2002

LEGGERE E VISUALIZZARE I DATI DI UNA TABELLA IN UNA PAGINA WEB

4 Data Transformation Services

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

PIANO DI TUTELA DELLE ACQUE DELLA SICILIA (di cui all'art. 121 del Decreto Legislativo 3 aprile 2006, n 152)

Il database management system Access

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Progettazione di un Database

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Relazioni tra tabelle

Guida rapida per i docenti all'uso della piattaforma di e-learning dell'istituto Giua

Il Sistema Operativo (1)

DESCRIZIONE: Microsoft Office 2002 XP Corso Completo (Patente 60 giorni)

Introduzione al Foglio Elettronico

MODULO 5 Basi di dati (database)

Database e reti. Piero Gallo Pasquale Sirsi

Cos è ACCESS? E un programma di gestione di database (DBMS) Access offre: un ambiente user frendly da usare (ambiente grafico)

Dispense Corso Access

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Microsoft Access 2000

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

ECDL AM5 Access Advanced

l Editor vi vi (visual editor) è stato scritto per essere utilizzabile con qualsiasi tipo di terminale.

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

La gestione documentale con il programma Filenet ed il suo utilizzo tramite la tecnologia.net. di Emanuele Mattei (emanuele.mattei[at] .

L amministratore di dominio

Uso delle basi di dati DBMS. Cos è un database. DataBase. Esempi di database

Introduzione JDBC interfaccia java.sql driver caricare i driver

OSSIF WEB. Manuale query builder

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Alla scoperta della nuova interfaccia di Office 2010

Applicazione ASP di esempio

PABI NOTE OPERATIVE ERRORI FORMALI

VBScript. VBScript. Visual Basic Scripting Edition. Linguaggio di script per browser e server Microsoft Deriva da Visual Basic, ma è interpretato

Corso di Archivistica

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

LEGGERE E VISUALIZZARE I DATI FILTRATI E CALCOLATI DI UNA TABELLA IN UNA PAGINA WEB

Il calcolo delle provvigioni con Excel

MANUALE UTENTE. P.I.S.A. Progetto Informatico Sindaci Asl

Creare diagrammi di Gantt con Visio 2003

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Capitolo 4 Pianificazione e Sviluppo di Web Part

Aprire la Connection

5-1 FILE: CREAZIONE NUOVO DOCUMENTO

Cosa è un foglio elettronico

Applicazione DBToolsSync Manuale Utente

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

BIBLIO. Fabio Cannone Consulente Software. Settembre fabcanno@gmail.com -

Gestione Risorse Umane Web

Workland CRM. Workland CRM Rel /11/2013. Attività --> FIX. Magazzino --> NEW. Nessuna --> FIX. Ordini --> FIX

MANUALE UTENTE. TeamPortal Liste Distribuzioni

ACTIVE SERVICE PAGES E DATABASE: tecnologia ADO

Транскрипт:

APPUNTI SU ADO (ACTIVEX DATA OBJECTS) Introduzione ADO (Activex Data Object) è il sistema di accesso a database che noi utilizzeremo in ambiente Microsoft, sia da Visual Basic sia da pagine ASP. Activex è un file con estensione OCX che può essere incorporato in un programma inserendolo in una finestra di dialogo, impostandone le proprietà e aggiungendo il codice dell evento. È simile a una DDL (Dinamic Linked Library): si collega al programma in modo dinamico. Cenni di storia: In passato l accesso di programmi ai database era complicato. Per ciascun database usato era necessario conoscere la relativa API (Application Programming Interface) a basso livello. La necessità di uno standard fu affrontata con ODBC (Open DataBase Connectivity), che proponeva la realizzazione di una API universale. La nuova impostazione che supera i limiti di ODBC è OLEDB (Object Linking & Embedding DataBase), che rappresenta uno sviluppo della tecnologia più generale che Microsoft sta portando avanti: la tecnologia COM (Component Object Model). ADO fa parte del progetto Microsoft più generale Universal Data Access (UDA) e rappresenta l evoluzione e il superamento di alcuni limiti di precedenti modalità di accesso ai database come Data Access Objects (DAO) e Remote Data Objects (RDO). N.B. Per applicazioni Visual Basic che usano la libreria ADO è necessario inserire il riferimento Microsoft ActiveX Data Objects 2.1 Library del menu Strumenti Riferimenti di Visual Basic Gerarchia di accesso ai dati Applicazione Visual Basic, C++, ASP, ADO OLEDB ODBC ACCES SQL Altri provider di dati Nel seguito degli appunti si descriverà sommariamente l architettura di ADO, in riferimento a una piattaforma di sviluppo Microsoft Visual Basic 6. In un altra dispensa si riprenderanno le tecniche di programmazione in ambiente di sviluppo ASP. Infine in appendice si riassumono schematicamente le caratteristiche di ADO. 9 Gen. 2007 pag. 1/7

Il modello a oggetti ADO Il modello a aggetti ADO è costituito da un insieme di oggetti programmabili che supporta COM (Component Object Model) e OLE Automation al fine di utilizzare la potente tecnologia OLEDB. Nel modello ADO sono disponibili sette oggetti, organizzati in modo debolmente gerarchico. Nella figura seguente sono rappresentati due schemi. In bianco le collezioni e in grigio gli oggetti. Oggetto Connection Questo oggetto gestisce le informazioni sulla connessione, ad esempio il tipo di cursore, la stringa di connessione, il time out della query, il time out della connessione, il database predefinito. Tra i diversi modi di aprire una connessione preferiamo quello indicato nei passaggi seguenti: 1. Dichiarare un oggetto connessione; 2. Istanziarlo 3. Dichiarare una stringa 4. Inserire nella stringa l elenco dei parametri necessari con i rispettivi valori 5. Aprire la connessione Ecco il codice di esempio per una connessione Visual Basic: Dim conn As ADODB.Connection Dichiarare un oggetto Connection Set conn = New ADODB.Connection Istanziare l oggetto Dim strconn As String Dichiarare una stringa per la connessione Definire la stringa di connessione StrConn = Provider = Microsoft.Jet.OLEDB.4.0; & _ Data Source = C:\<Path del DB>\<Nome del DB> conn.open strconn Aprire la connessione 9 Gen. 2007 pag. 2/7

Oggetto Recordset È un gruppo di righe di una tabella o restituite da una query con il relativo cursore. È possibile aprire un oggetto Recordset, senza aprire esplicitamente un oggetto Connection. Creando un getto Connection, si potranno tuttavia aprire più Recordset nella stessa connessione. Le principali proprietà, metodi, cursori, bloccaggi e opzioni sono in appendice. Aprire un Recordset Un recordset può essere aperto usando tre metodi: il metodo Execute dell oggetto Connection il metodo Execute dell oggetto Command il metodo Open dell oggetto Recordset. Preferiamo usare il terzo metodo con la sintassi: rs.open [Source, [ActiveConnection, [CursorType, [LockType, [Options]]]]] Esempio: supponendo aperta la connessione conn e definendo come sorgente la tabella AnagDip, si ha la sequenza: Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset rs.cursortype = adopenkeyset vedere tabella Tipi di cursore rs.locktype = adlockoptimistic vedere tabella Tipi di bloccaggio rs.open AnagDip, conn,,,adcmdtable vedere tabella Opzioni Chiudere di un Recordset rs.close Set rs = Nothing Navigare su un Recordset Sequenza per andare avanti: Private Sub CmdProssimo_Click() rs.movenext If rs.eof Then rs.moveprevious MostraCampi procedura di visualizzazione dei campi nel form End Sub Sequenza per tornare indietro: Private Sub CmdPrecedente_Click() rs.moveprevious If rs.bof Then rs.movenext MostraCampi procedura di visualizzazione dei campi nel form Oggetto Field Contiene informazioni su una singola colonna di dati di un Recordset. L oggetto Recordset utilizza la collezione Fields per raggruppare tutti gli oggetti Field ad esso correlati. Le informazioni dell oggetto Field includono il tipo di dati, la precisione e la scala numerica. Le principali proprietà dell oggetto Field. sono elencate in appendice. 9 Gen. 2007 pag. 3/7

Accesso ai campi di un record Un campo può essere indicato usando il nome del campo oppure il numero della colonna. Esempi: rs.fields( Cognome ).Value = Rossi rs.fields( Cognome ) = Rossi equivalente alla precedente MyString = rs.fields(2) Assegna alla stringa MyString il valore della seconda colonna Un altro modo di indicare un campo di un recordset consiste nell uso del punto esclamativo! (in inglese: bang). Esempio: rs!cognome = Rossi Aggiungere un record ad un Recordset 1. Usare il metodo AddNew per aggiungere una nuova riga. Tutti i campi saranno impostati ai valori di default 2. Riempire i campi secondo la necessità e i vincoli 3. Usare il metodo Update per salvare la nuova riga. Il nuovo record diventa il record corrente. Esempio: With rs.addnew.fields("cognome") = "Rossi".Fields("Nome") = "Mario".Update End With Cancellare un record in un Recordset 1. Muoversi alla riga interessata 2. Usare il metodo Delete per eliminarla N.B. Dopo che un record è stato cancellato rimane ancora il record corrente, il precedente rimane il precedente e il successivo rimane il successivo. Così bisogna usare il metodo MoveNext ammesso che il record cancellato non sia l ultimo, perché in tal caso si verificherebbe un errore. Pertanto è necessario gestire ogni situazione. Esempio: Si eliminano tutte le righe di una tabella: Public Sub EliminaTabella(strTable As String) With rs If.RecordCount > 0 Then.MoveFirst Do.Delete ' Senza il seguente MoveNext, ADO continuerebbe ' ad eliminare sempre la stessa prima riga..movenext Loop Until.EOF End With End Sub Modificare un campo di una riga di un Recordset 1. Spostarsi sul record interessato 2. Effettuare le modifiche 3. Aggiornare il record con il metodo Update Esempio: 9 Gen. 2007 pag. 4/7

Public Sub ModificaRiga() With rs.find "[Titolo] = 'Boss'" If.EOF Then MsgBox "Nessun record trovato!" Else.Fields("Titolo") = "Capo".Update End With End Sub Oggetto Command Gestisce le informazioni su un comando, ad esempio una stringa di query, le definizioni di un parametro e così via. È possibile eseguire una stringa di comando su un oggetto Connection di una stringa di query all apertura di un oggetto Recordset, senza definire un oggetto Command. L oggetto Command è utile per definire i parametri di una query o eseguire una stored procedure che restituisce parametri di output. L oggetto Command supporta una serie di proprietà che descrivono il tipo e lo scopo della query e consentono ad ADO di ottimizzare l operazione. Oggetto Error Contiene informazioni di errore estese relativamente alle condizioni di errore causate dal provider di dati. Poiché una singola istruzione può generare più errori, la collezione Errors può contenere più oggetti Error contemporaneamente. Oggetto Parameter Un singolo parametro associato all oggetto Command. L oggetto Command utilizza la collezione Paramenters per raggruppare oggetti Parameter ad esso correlati. Gli oggetti Parameter possono essere creati automaticamente inviando query ad database. Tuttavia è possibile creare questo insieme anche tramite programma per migliorare le prestazioni durante l esecuzione. Oggetto Property È una caratteristica definita dal provider per un oggetto ADO. Gli oggetti ADO presentano due tipi di proprietà: incorporate e dinamiche. Le proprietà incorporate sono implementate in ADO e disponibili per ogni nuovo oggetto ADO. Le proprietà dinamiche sono definite da un provider di dati sottostante e fanno parte dell insieme di Properties del rispettivo oggetto ADO. Una proprietà può, ad esempio indicare se un oggetto Recordset supporta le transazioni o l aggiornamento. Si tratta di una delle funzioni più potenti di ADO poiché consente al provider di servizi di ADO di fornire interfacce speciali. 9 Gen. 2007 pag. 5/7

Appendice Principali proprietà dell oggetto Recordset BOF Indica se la posizione del record corrente è forzata a posizionarsi prima del primo record Bookmark Imposta o restituisce un segnalibro che identifica univocamente il record corrente, o imposta come record corrente un record identificato da un segnalibro valido CursorType Imposta o restituisce il tipo di cursore usato in un recordset. EOF Indica se la posizione del record corrente è forzata a posizionarsi dopo l ultimo record. Filter = Permette di estrarre le righe del recordset che rispondono alla condizione <condizione> argomento della proprietà LockType Imposta o restituisce il tipo di blocco imposto sul record durante l editing. Sort = <campo> Ordina il recordset secondo il campo indicato nella proprietà Source Imposta o restituisce la sorgente (nome della tabella o oggetto command) del recordset Principali metodi dell oggetto Recordset AddNew Crea un nuovo record per un recordset aggiornabile Close Chiude un recordset aperto, con tutti gli oggetti dipendenti Delete Cancella il record corrente. Find Trova il prossimo record che incontra una condizione Move Muove la posizione del record corrente in un oggetto Recordset MoveFirst Cursore sul primo record MoveLast Cursore sull ultimo record MoveNext Cursore sul prossimo record MovePrevious Cursore sul record precedente Open Apre un cursore su un recordset Update Salva ogni cambiamento effettuato sul record corrente UpdateBatch Scrive tutti gli aggiornamenti batch pendenti sul disco Tipi di cursore dell oggetto Recordset Valore numerico Costante simbolica Descrizione 1 (default) adopenforwardonly Cursore utilizzato per visualizzare i dati; consente movimenti solo in avanti: è il più veloce dei cursori 2 adopenkeyset Consente tutti i movimenti sui record; non visualizza i record aggiunti dagli altri utenti 3 adopendynamic Consente tutti i movimenti; gli inserimenti e gli aggiornamenti sono visibili agli utenti; è il più lento dei cursori 4 adopenstatic Cursore statico utilizzato per visualizzare i dati. Non consente manipolazione per gli utenti finali 9 Gen. 2007 pag. 6/7

Tipi di bloccaggio dell oggetto Recordset Valore Costante simbolica Descrizione numerico 1 (default) adlockreadonly La tabella è bloccata in sola lettura; non si possono modificare i record 2 adlockpessimistic Il gestore dei dati assicura che le operazioni di aggiornamento dei dati si concludano correttamente, bloccando i record ad uno ad uno per tutta la durata delle operazioni di modifica 3 adlockoptimistic Blocca i record uno ad uno solo quando viene attivato il metodo Update 4 adlockbatchoptimistic Come il precedente, ma riferito ad operazioni di aggiornamento in modalità batch Opzioni per Recordset Valore numerico Opzione Descrizione 1 adcmdtext Dice al provider di valutare la sorgente come istruzione SQL 2 adcmdtable Dice ad ADO di generare una query SQL per trovare tutte le righe dalla tabella o query il cui nome è specificato nella sorgente 512 adcmdtabledirect Dice al provider di restituire tutti i record della tabella o query il cui nome è specificato nella sorgente 4 adcmdstoredproc Dice al provider di valutare la sorgente come stored procedure o query 8 adcmdunknown Dice ad ADO di interrogare il provider per determinare se la sorgente è una stored procedure, il nome di una tabella o un istruzione SQL 256 adcmdfile Dice ad ADO che il parametro sorgente è il nome di un file contenente un recordset Principali proprietà della collezione Fields Proprietà Descrizione Count Indica il numero di campi nel record dell oggetto recordset Name Imposta o restituisce il nome del campo Value Imposta o restituisce il contenuto del campo (default) Attributes Indica una o più caratteristiche 9 Gen. 2007 pag. 7/7