Il Registro Elettronico - ITIS Leonardo da Vinci

Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Il Registro
Elettronico
Come integrare la tecnologia con la quotidianità! Trasformare un registro
cartaceo in uno interattivo!
Classe 5B INF A.S. 2004/2005
-1-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
INDICE GENERALE
Introduzione
Pag. 3
Il nostro Palmare
Pag. 5
Le Funzionalità del Programma
Pag. 6
I Palmari
Pag. 14
Il Linguaggio Sql
Pag. 20
Microsoft Access
Pag.23
Descrzione Dettagliata del DataBase
Pag.25
Problema DataBase
Pag.27
Configurazione degli Ambienti Client e di Sviluppo
Pag.30
Il .Net Compact Framework
Pag.33
Classi di SQL Server CE
Pag.39
Bibliografia
Pag.46
-2-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Introduzione
Ormai la tecnologia fa parte del nostro vivere quotidiano.
Perché non integrare allora la normale vita scolastica con quella
tecnologia? I Palmari, Pocket PC sono sempre più diffusi perché
permettono di unire molteplici funzioni come la funzionalità e l'utilità di
un computer e l'utilizzo del telefono cellulare tutto nel palmo di una
mano.
Si è pensato di trasformate il registro normalmente utilizzato
quotidianamente nelle aule, in un'applicazione per Pocket Pc, di modo
che ogni professore possa scegliere mediante un'interfaccia semplice ma
efficace, cosa fare, che classe visualizzare, mettere assenze e presenze
ed
eventualmente
aggiungere
note…
Il palmare su cui si andrà a costruire il DataBase che conterrà i dati,
funziona in modo autonomo infatti, l'applicazione che gira su palmare, fa
utilizzo dei dati usando la sua porzione di memoria. L'ambiente utilizzato,
SQL Server CE, che è utilizzato proprio per i palmari si divide in
ambiente Client e Server. L'architettura che interviene nel processo di
comunicazione tra SQL Server installato sul computer e SQL Server CE
su Palmare, è costruita in questo modo: su Palmare è presente:
l'applicazione vera e propria, SQL Server CE lato Client, che gestisce le
funzionalità del DataBase sul palmare, SQL Server CE Engine, che
gestisce proprio il DataBase (cioè la connessione tra DataBase e
applicazione) e il DataBase vero e proprio. C'è da aggiungere che il DB
su palmare è differente da un DB su un normale computer poiché su
palmare non esiste Microsoft Access. Un DB su palmare ha estensione
.sdf, e si può creare tramite un'applicazione. Sul Pocket all'interno del
programma SQL Server CE Engine è possibile utilizzare SQL Query per
interrogare il DB, è un'interfaccia minima per gestire un DataBase.
-3-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Il collegamento con il Server di data Base (ovvero l’istanza di SQL
Server sul server remoto) può avvenire in due modi distinti:
1. Collegamento via scheda di rete: se il Pocket PC ha in dotazione
uno slot per scheda di rete è possibile collegare il Pocket PC alla
nostra rete locale e sincronizzare i dati direttamente con il server.
In tal caso bisogna configurare la scheda di rete con i parametri di
connessione della rete locale così come siamo abituati a fare sui
nostri PC quando si crea una connessione di rete.
2. Collegamento tramite PC Proxy via ActiveSync: in questo caso il
Pocket PC raggiunge il Server remoto tramite un computer che
agisce da Proxy e del quale si sfrutta la connessione alla rete
locale.
L’ultimo stato dell’architettura è rappresentato dall’ambiente Server.
In tale ambiente troviamo un computer sul quale è installato il WEB
Server IIS e l’istanza di SQL Server.
L'ambiente di sviluppo utilizzato, permette, per nostra fortuna, di
p poter costruire applicazione per Palmari o meglio per “SmartDevice”,
q questo ci permette di costruire un'applicazione anche senza utilizzare
i il Dispositivo fisico, in quanto è possibile utilizzare l'emulatore che ha
l
le
stesse
funzioni
di
un
dispositivo
Pocket
Pc
fisico.
-4-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Il nostro Palmare
Per Poter realizzare il nostro Registro Elettronico abbiamo utilizzato un
Palmare Ipaq della Compaq che non è uno degli ultimi palmari in
commercio ma sicuramente soddisfa tutte le nostre esigenze. E’ dotato
di un sistema operativo Windows Ce, processore Mhz Intel, 32Mb di
Ram, 16 Mb di Rom, porta infrarossi, touch screen con penna e cavo per
il collegamento del nostro palmare al pc. Per la sincronizzazione è stato
utilizzato il software Microsoft ActiveSync (in dotazione con il pocket pc)
che rileva automaticamente il nostro dispositivo e ci permette di
esplorarlo per poter visualizzare i file al suo interno. Quando si vuole
trasportare un file da pc a palmare ActiveSyn converte i file da formato
pc a formato Pocket Pc compattandoli. In questo modo un programma
che sul pc occupa 1 Mb sul palmare risulta grande 3k rendendolo cosi più
veloce da caricare e da eseguire.
-5-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Le Funzionalità Del Programma
Sappiamo tutti come funziona un normale registro di classe: appello,
assenze, giustifiche… però quante volte capitano degli errori di
distrazione che fanno diventare un alunno assente mentre invece è
presente, oppure ci si dimentichi di firmare? Con il palmare, tutto questo
diventa più facile e veloce, grazie soprattutto al fatto che diventa anche
divertente. Ormai i palmari sono in grande diffusione, e non sarebbe
male l’idea di creare davvero dei registri elettronici per ogni classe!
Ora simuliamo la una tipica giornata scolastica, la mattina alle 08:00.
Suona la campanella, ed entra il professore della prima ora.
Accende il suo Pocket, fa partire MONZO ed ecco che compare la prima
schermata:
Il docente in questione, che per noi sarà Ferrari, entra con il suo user
abituale. Purtroppo abbiamo potuto mettere solo lo user, in quanto le
password non ci sono state fornite.. Però lo user ci permette di capire se
ad entrare nel registro è un alunno o un insegnante, in quanto uno
studente non ha le stesse funzioni di un insegnante, come ad esempio
non può dare note, mettersi assente o giustificarsi, però ha tutte le
funzioni di routine, come vedere gli argoment del giorno, le materie, le
assenze.
L’utente professore entra, e compare la schermata successiva:
-6-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Vengono date alcune informazioni, e viene richiesta la specializzazione e
poi dopo la specializzazione, la classe. È già possibile scegliere se si
vuole andare nel registro di oggi, oppure visualizzare un giorno passato
con le relative informazioni.
Per fare le varie richieste al database, abbiamo usato a volte il
dataadapter, anche se è codice da scrivere tutto a mano perché la
funzionalità Palmare non supporta il wizard grafico, oppure abbiamo
usato il cmd e l’rdr per la lettura, a seconda dei casi. Per esempio nella
scelta delle specializzazioni e della classe, il codice usato è stato
impostato in questo modo:
//iniziamo col definire la connessione. SqlCeConnection vuole la fonte da
cui andare a prendere i dati. Nel nostro caso è in My Documents, itis.sdf
SqlCeConnection conn=new SqlCeConnection(@"Data Source=\My
Documents\itis.sdf");
//apriamo la connessione
conn.Open();
//e dopo questo, nel load della form, vengono caricate
informazioni di specializzazioni, dando un comando al cmd
le
cmd.CommandText = "SELECT DISTINCT Specializzazione FROM Classi";
rdr= cmd.ExecuteReader();
while (rdr.Read())
{
comboSpecializzazione.Items.Add(rdr.GetString(0));
}
rdr.Close();
Una volta scelta la specializzazione, allo stesso modo si caricano le classi,
passandogli come criterio stavolta, la specializzazione.
Una volta entrato, viene caricato l’orario del giorno
-7-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Ora, nel caso ci sia una supplenza, si può cambiare nella combo dell’ora
in questione, la materia e anche il nome dell’insegnante.
Ad esempio, la prima ora la Lanzi non fa più inglese ma il TutorCepu..
I cambi di materia vengono salvati davvero nel database, perché come in
un registro cartaceo, se un giorno c’è un’ora di supplenza, su quell’ora
rimane scritta la supplenza e da chi è stata fatta.
In questo caso nel caricamento delle materie, ho usato il datadapter, o
meglio l’SqlCeDataAdapter. Il suo uso all’inizio è parso difficile, proprio
prchè bisognava farlo a mano, poi però ci si rende conto che è
abbastanza facile.
Prima cosa, si istanzia un nuovo adapter
SqlCeDataAdapter adapterRegistro = new SqlCeDataAdapter();
All’adapter viene passata l’istruzione. In questo caso bisogna carica la
tabella del registro, cioè la struttura
-8-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
adapterRegistro.SelectCommand= new SqlCeCommand("SELECT * FROM Registro
WHERE Giorno= ? AND Classe=? " ,conn);
I due parametri contrassegnati da ? vengono passati nelle istruzioni
successive
adapterRegistro.SelectCommand.Parameters.Add("Giorno",System.Data.SqlDbType.DateTi
me);
adapterRegistro.SelectCommand.Parameters["Giorno"].Value= DateTime.Today;
“Giorno” è trattato come una data e quindi gli viene passato un
DateTime. Il DateTime lavora al rovescio, cioè mette la data in questa
forma: aaaa/mm/gg
adapterRegistro.SelectCommand.Parameters.Add("Classe",System.Data.SqlDbType.NVarC
har);
adapterRegistro.SelectCommand.Parameters["Classe"].Value= classe;
“Classe” è una stringa e a cui è passata la classe
adapterRegistro.Fill(ds, "Registro");
Viene fatto il Fill della tabella Registro
Normale routine della mattina è l’appello. Si seleziona da Modifica del
menù a tedina Appello, e viene visualizzata la seguente form.
Tutti gli alunni vengono dati in una tabella, dove è possibile mettere gli
assenti, oppure un ritardo, oppure un permesso di uscita.
Ma se un alunno entra alle 08:50? Il docente in questione è tenuto ad
andare sempre dal menù a tendina di modifica, ciccare su “Assenze” e
qui sarà possibile scegliere fra due opzioni: vedere le assenze di oggi,
oppure, se serve, le assenze di un altro giorno. Nel caso comunque di un
ritardo, selezionerà “Oggi”.
E apparirà la seguente form:
-9-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Per esempio, io sono entrato alla terza ora ed ho anche giustificato. Se
non avessi giustificato, io domani dovrei portare la giustifica.
A proposito di giustifiche, un’altra cosa che si deve fare sempre è vedere
chi deve giustificare. Sempre da Modifica del menù a tendina, si clicca su
“Giustifiche”.
Ecco che si apre la form con tutti gli studenti che devono giustificare.
Basta cliccare sulla check e lo studente sarà automaticamente
giustificato.
Parlando di Note, queste sono divise in Note di Classe e Note Studente.
Sulle prime è possibile vederle tutte insieme, oppure dare una nota di
classe. Nella form seguente si vedono le tipiche note della classe 5B INF
-10-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Nella tabella ci sono tutte le note, e ciccando su una riga, grazie al
DataBinding, le informazioni vengono visualizzate nei due riquadri, cioè
chi insegnante ha dato la nota, e il contesto della nota.
Per quanto riguarda le note studenti, è possibile vederle sia tutte
insieme, sia per uno studente specifico:
Nella combo in alto vengono visualizzati tutti gli studenti di quella classe,
ed è così possibile selezionare lo studente da visualizzare. Invece dando
le note:
-11-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Sulla base di una datagrid, viene scelto l’alunno a cui è destinata la nota,
nella combo si seleziona il professore, e nel riquadro in basso, si scrive la
nota.
Altro punto importante del programma sono gli argomenti, in cui è
possibile vedere sia gli argomenti passati, sia quelli di oggi, e sia quelli
futuri, cioè, in una data giornata si possono o visualizzare gli argomenti
se già ce ne sono, oppure segnarli (come ad esempio, i compiti in classe)
ad esempio, negli argomenti del 22 giugno è segnata la prima prova
d’esame. Visualizzando invece gli argomenti di oggi viene visualizzata la
form che contiene già gli argomenti che saranno stati segnati qualche
giorno prima.
-12-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Un’ultima operazione possibile dal palmare, è quella di aprire il registro
ad una certa data,ciccando sul menù a tendina File, Apri, e permette di
andare a scegliere di vedere il registro di un altro giorno.
è possibile anche cambiare specializzazione e classe.
-13-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
I Palmari
Il Palmare è un dispositivo che negli ultimi anni si sta diffondendo
sempre di più perché gli ultimi modelli garantiscono migliaia di
funzionalità e la loro memoria si sta ampliando sempre di più. Non tutti
però utilizzano lo stesso sistema operativo e qualcuno di loro ha
incorporato in se pure una piccola tastiera.
Di seguito sono elencati tutti i vari tipi di palmari:
 Senza Tastiera con SO non windows
I computer palmari senza tastiera sono molto leggeri, facili da usare e
"veramente" palmari (nel senso che solo i palmari senza tastiera stanno
su un palmo di una mano).
I computer palmari senza WindowsCE e senza tastiera si differenziano
molto tra loro, appunto perché non sono "vincolati" dal sistema operativo
e possono avere funzioni, dimensioni e prezzi diversi.
Un esempio è la PC Card della REX, grande (anzi piccola) quanto una
carta di credito con la possibilità di mettergli dentro un bel po' di
informazioni direttamente dalla porta PC CARD (PCMCIA) del proprio PC.
Si può veramente parlare di palmare in quanto è davvero piccola;
purtroppo non c'è la possibilità di inserire dati (infatti, nasce solo per
-14-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
visualizzare i dati velocemente). In Italia non è commercializzata la
versione CE. Esiste una versione PRO (più costosa) ove è possibile
l'inserimento dati. Attenzione: si collega al computer come una scheda
PCMCIA, se la si vuole collegare via seriale bisogna comprare la base di
ancoraggio.
Un ottimo palmare senza tastiera e senza WinCE è il PALM IIIx della
3COM.
Questo ha una penna con la quale si può scrivere sul display, è dotato di
porta a infrarossi ed ha una buona dotazione di programmi e 4MB di
memoria. Esiste la versione a colori il PALM IIIc con 8 MB di memoria.
Davvero splendido, peccato che il sistema operativo sia in inglese!. Il
fratello maggiore (il PALM Vx) ha 8MB di memoria e ha la possibilità di
navigare su Internet. Questo modello incorpora il nuovo sistema
operativo Palm OS 3.5. La versione italiana disponibile è quella del Palm
V (vecchio modello con 2 Mb di memoria e con il vecchio sistema
operativo). Girovagando sul Web c'è la possibilità di trovare una miriade
di programmi adatti a questo palmare. Finalmente questi palmari
possono utilizzare la posta elettronica tramite la porta infrarossi. La
porta infrarossi, sinora, serviva solo per collegarli ai PC, ma adesso si
può scaricare dal sito della PalmPilot la patch per aggionarli (e dargli una
sorta di Accesso Remoto). Interessante è un accessorio che trasforma il
Palm in un GSM. Per quanto riguarda il Palm V, esiste una tastiera
(ripiegabile in quattro, quindi molto portatile) da potere collegare al
palmare. Una bella invenzione! Inoltre, a breve, avranno anche un
modulo per la sintesi vocale e si potranno registrare ed ascoltare dati
online. Recentemente il Palm è stato utilizzato come cervello di un
piccolo robottino (è la Robotics Institute sta pensando di mettere in
vendita un Palm Pilot Robot Kit). Ma gli accessori per il Palm non
finiscono qui: è disponibile anche un piccolo pad che trasforma il palmare
in un Game boy!
Il piu' economico e' il Canon ZX-10 (1 MB), ma molto interessante e'
anche quello della Olivetti, il daVinci. Non eccezionale, ma anche questo
molto economico, dotato di 2 MB di RAM e con il sistema operativo
disponibile in 6 lingue diverse (italiano, inglese, tedesco, francese,
spagnolo e portoghese) .
Altri modelli di palmari li trovate nella sezione GSM-Palmari con proprio
sistema operativo.
-15-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
 Con Tastiera e proprio SO
Tra questi tipi di palmari spicca la serie dello PSION. Sono i maggiori
antagonisti dei palmari con tastiera dotati di Windows CE. Ne esistono
quattro modelli, ma i primi due (Siena e 3MX) non sono paragonabili ai
palmari con WinCE. Il Revo è un buon palmare, in considerazione anche
che è presente la versione italiana (anche qui non siamo ai livelli di
WinCE ma ci avviciniamo moltissimo), ma il "pezzo forte" è lo Psion
Serie 5MX: un ottimo prodotto.
E' l'unico che si può collegare ai Macintosh, si possono registrare
messaggi audio, mandare Fax, navigare su Internet, ha una ottima
tastiera, molti programmi disponibili (anche in italiano, cosa che manca
per i palmari con WinCE). Se si sta cercando un palmare da
utilizzare per viaggiare questo è il migliore in assoluto. Ha una
durata ottima delle batterie e soprattutto si possono acquistare diversi
programmi adatti a chi viaggia (Autostrade, Cartine delle Città,
Traduttori ecc).Il punto di forza degli PSION è sicuramente la
gestione dei sistemi GPS. Anche la PSION ha creato palmari grandi
quanto un portatile. Infatti lo PSION serie 7 e' un palmare dalle
dimensioni di un notebook e con un sistema collaudato come quello degli
PSION ed è A COLORI. Sicuramente molto superiore ai suoi concorrenti
dotati di Windows CE, un palmare dalle dimensioni di un notebook
continua a non convincermi affatto: è ingombrante quanto un notebook,
non molto più leggero degli ultimi notebook, ma soprattutto dotato di un
sistema operativo nettamente inferiore a Windows '95 o successivi.
Novità: è disponibile per i Palm (per tradizione palmari senza tastiera)
una tastiera della grandezza tradizionale, ma ripiegabile in quattro.
Questo interessante accessorio permette ai Palm di entrare in questa
sezione.
 Senza Tastiera e con Win CE
Sono molto eleganti e leggeri. Si assomigliano molto tra loro perché
adoperando lo stesso sistema operativo, hanno più o meno bisogno degli
stessi tasti. Sono molto diffusi e sostituiscono in tutto e per tutto
l'agenda (hanno infatti Pocket Outlook, Inbox, Note Taker, calcolatrice ed
altre funzioni). Sono disponibili una infinità di programmi (da ricercare
sul Web).
I Palmari senza tastiera e con Windows CE sono i piu' diffusi; per questo
-16-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
motivo il mercato in questo settore e' molto attivo. Il futuro dei palmari
sembra orientato verso questi modelli, infatti i palmari con tastiera sono
destinati ad essere soppiantati da Notebook sempre piu' piccoli. Adesso
questi palmari senza tastiera sono A COLORI!!! Abbiamo il Casio
Cassiopeia E-105 (a 65.536 colori ed e' dotato di un'uscita stereo per
usarlo come walkman MP3, 32 MB, possibilità di vedere video MPEG,
processore a 131 Mhz e sistema operativo in italiano) che è
strabiliante(!) e il Compaq Aero 2130 (ottimo ed economico). Molto validi
il Casio Cassioeia E100 l'HP Jornada 430. La buona notizia e' che i
"vecchi" palmari a toni di grigio, costano oggi pochissimo e sono ancora
molto buoni (ad esempio il Nino 300 o i "vecchi" Cassiopeia). Su questi
modelli sta puntando molto la Microsoft (a loro è rivolto il sistema
operativo Pocket PC).
 Senza Tastiera e con Pocket PC
I Palmari senza tastiera e con Windows CE (vecchio software) sono i piu'
diffusi: per questo motivo il mercato in questo settore e' molto attivo. Il
futuro dei palmari sembra orientato verso questi modelli (con il nuovo
software), infatti i palmari con tastiera sono destinati ad essere
soppiantati da Notebook sempre piu' piccoli. Sui palmari senza tastiera
sta puntando molto la Microsoft: a loro è rivolto il sistema operativo
Pocket PC. I modelli dotati di Pocket PC presentati per primi sono stati
Casio E115 e HP Jornada 540. Davvero degli splendidi palmari, con un
sistema operativo più potente ma allo stesso tempo più semplice e
adatto a questo tipo di macchine. La Compaq ha prodotto come Pocket
PC il Compaq iPAQ H3600 Pocket PC (il top della gamma a colori,
disponibile anche in Italia) e come Pocket PC economico a scala di grigi
l'Aero 1550 16MB Pocket PC (la versione Aero 1530 così come quasi
tutti i palmari Compaq sono comunque aggiornabili a Pocket PC). Ma
l'ondata di palmari con Pocket PC non si arresta e la Casio ha presentato
4 nuovi modelli (a colori e non): IT-70, IT-700, EG-80 e EG-800. Ma
la vera novità della Casio è il suo EM-500YW un Pocket PC realizzato
pensando esclusivamente alla multimedialità che un palmare può offrire.
-17-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
 Con Tastiera E Win CE
A prima vista sembrano dei portatili in miniatura, ma bisogna ricordare
invece che sono abbastanza lontani dai portatili. Considerando che i
portatili sono sempre piu' piccoli e potenti, scegliere oggi un palmare con
la tastiera e' solo una questione di prezzo!
Quindi, questi palmari sono destinati a scomparire a vantaggio dei piccoli
portatili o dei palmari senza tastiera.
La versione attualmente più diffusa di Windows CE è la 2.1 in italiano
(vedi più avanti la 3).
I palmari sono a colori od in bianco e nero (da 4 sino a 16 toni di grigio).
Quelli a colori costruiti sino a poco tempo fa sono strettamente legati al
PC poiché la durate delle batterie è breve (solo 2 ore). Sono "quasi"
inutili se li vogliamo usare per collegarci ad Internet con le batterie e la
scheda PCMCIA (massimo 15 minuti). Molto interessanti, invece, i
palmari in bianco e nero che assicurano una durata tra le 6 e le 12 ore (e
con ottimi prezzi, visto che sono stati abbondantemente superati dai
nuovi modelli), ma attenzione: anche in questo caso navigando su
Internet la durata delle batterie si abbassa considerevolmente (da una a
due ore).
Attenzione alla macchina fotografica digitale che pubblicizza la Sharp.
Questa è una piccola macchina fotografica digitale che si attacca allo
Sharp tramite la scheda PCMCIA. Bella idea, ma sarebbe un acquisto
sbagliato: la camera card si alimenta tramite le batterie del palmare che
così durano da 2 a 10 minuti (che divertimento!!!).
Il migliore palmare a colori nella versione 2.1 è della Hewlett-Packard:
HP Jornada 690 Handheld PC. Questo palmare è un po' più grande dei
classici palmari, ma ha una tastiera comodissima, è molto veloce, ha il
-18-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
modem incorporato 56 Kb, una autonomia di 8 ore, una uscità VGA, e
soprattutto ha il nuovo Windows CE 2.1 Jupiter con l'introduzione di
alcuni ottimi programmi (primi tra tutti Pocket Access) e alcune migliorie
(su InBox e Pocket Explorer). Altro ottimo palmare è l' LG- H-220C della
LG Electronics. Oltre ad una ottima autonomia, ottima tastiera e modem
incorporato, è dotato di una uscita VGA e soprattutto una uscita parallela
(se si vuole usare il palmare anche per stampare sulle comuni stampanti,
è la migliore scelta). (Anche se purtroppo la LG ha smesso la produzione
di Computer Palmari e non vedremo mai alla luce un aggiornamento).
Nuovi palmari con Windows CE 3 - Handheld PC 2000
Splendide macchine nate da poco. Si distinguono per il potente Pocket
Explorer 4.0 compatibile e la possibilità di usare la connessione USB. La
HP vince la concorrenza con HP Jornada 720 handheld PC il primo
palmare con tastiera dotato di jack stereo, ha un modem interno, la
possibilità di connessione USB e l'allocazione della CF separata a quella
della PCMCIA.
HPC PRO
Sono considerati i palmari di nuova generazione quelli dotati di WinCE
2.11 Jupiter. Questi palmari hanno le stesse dimensioni di un portatile
(hanno lo schermo 640*480 e non 640*240). La forza sta nel prezzo e
nella facilità di uso (infatti il Windows CE è molto facile da usare e non
ha procedure di avvio o di installazione). Secondo me, comunque, non è
una buona scelta, in quanto in definitiva è grande quanto un portatile,
ma ha un sistema operativo semplice ma limitato come il WinCE. E
guardando l'andamento dei prezzi dei nuovi portatili, non è neanche
conveniente. Segnalo, comunque, il Compaq Aero 8000 e l' HP Jornada
820e.
-19-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Il Linguaggio Sql
L’SQL (Structured Query Language) è un linguaggio non procedurale
utilizzato nella gestione dei database relazionali.
Rispetto ad altri linguaggi di programmazione per database è molto
semplice per quanto riguarda:
1) concisione dei comandi;
2) visione tabellare dei dati;
3) facilità istruzioni;
il che fa aumentare il suo sviluppo nelle applicazioni di carattere
gestionale.
Esso permette all’utente di:
- definire la struttura delle relazioni del database (FUNZIONE DDL);
- modificare i contenuti del database, con operazioni di inserimento,
modifica e cancellazione (FUNZIONE DML);
- gestire il controllo degli accessi (FUNZIONE DML);
- interrogare la base di dati (FUNZIONE QUERY LANGUAGE).
Inoltre l’SQL fornisce opportuni comandi per definire in modo facile i
tabulati di uscita dei risultati (reporter).
L’SQL utilizza:
- caratteri alfabetici;
- cifre decimali;
- operatori aritmetici e di confronto ( * / + - < >);
- altri caratteri di particolare significato nella sintassi delle istruzioni.
Gli IDENTIFICATORI (nomi di tabelle, nome di attributi) sono costituiti da
sequenze di caratteri non superiori a 18.
Per identificare l’attributo di una tabella bisogna utilizzare la nozione:
Nome Tabella . Nome Attributo
Quando una tabella viene dichiarata bisogna specificare anche il tipo dei
dati scelti per gli attributi che possono essere:
CHARACTER(n)
DATE
TIME
INTEGER(p)
SMALLINT
Stringa di lunghezza n
Data nella forma MM/GG/AA
Ora nella forma HH:MM
Numero intero con precisione p
Numero intero con precisione 5
-20-
n da 1 a 15000
p da 1 a 45
da –32768 a 32767
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
INTEGER
Numero intero con precisione 10
DECIMAL(p, s)
Numero decimale con
s cifre decimali
Numero reale con
precisione 7
Numero reale con
precisione 15
Numero reale con
precisione 15
Numero reale con
precisione 15
FLOAT(p)
REAL
FLOAT
DOUBLE
PRECISION
precisione p e
mantissa
di
mantissa
di
mantissa
di
mantissa
di
da –2147483648
a 2147483647
p da 1 a 45
s da 0 a p
Valore 0 oppure valore
assoluto da 1E-38 a 1E+38
Valore 0 oppure valore
assoluto da 1E-38 a 1E+38
Valore 0 oppure valore
assoluto da 1E-38 a 1E+38
Valore 0 oppure valore
assoluto da 1E-38 a 1E+38
Nelle colonne gli attributi che hanno valore non definito o non disponibile
assumono il valore NULL. Nella definizione può essere specificato che un
attributo deve essere NOT NULL.
FUNZIONE DDL
Per definire la tabella viene usata la nozione:
CREATE TABLE
seguita dal nome della tabella e dall’elenco degli attributi.
FUNZIONE DCL
La struttura tabellare può essere successivamente modificata con il
comando:
ALTER TABLE nome tabella
ADD colonna da aggiungere
per aggiungere una nuova colonna
ALTER TABLE nome tabella
DROP colonna da togliere
per togliere una colonna già esistente
Per creare un nuovo indice sulla tabella viene usato il comando CREATE
INDEX, se non si vuole che ci siano valori duplicati per l’attributo
associato ad indice in righe diverse si userà:
CREATE UNIQUE INDEX nome indice
ON nome tabella (nome attributi)
FUNZIONE DML
-21-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Per manipolare i dati vengono utilizzati i seguenti comandi:
INSERT INTO nome tabella
(attributi)
VALUES (‘valori’)
per inserire nuovi valori in una tabella
UPDATE nome tabella
SET (valore da ottenere)
WHERE (valori da modificare)
per aggiornare i valori di una riga
DELETE FROM nome tabella
WHERE (condizione)
per cancellare i valori di una riga
FUNZIONE Query
Per interrogare il database
SELECT attributi
FROM nome tabella
WHERE condizione
SELECT può essere seguito da DISTINCT se si desidera che nella tabella
risultante le righe duplicate siano ridotte a una.
-22-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Microsoft Access
Per effettuare interrogazioni particolarmente complesse, è stato
utilizzato anche Microsoft Access.
Questo programma consiste principalmente in un sistema di gestione di
basi di dati relazionali, può essere utilizzato su personal computer con
sistema operativo Microsoft e permette di definire al suo interno
applicazioni SQL. In un database gestito da Access possono essere
definite sette categorie d’oggetti diversi: le tabelle, le quey, le maschere,
i report, le macro, i moduli e le pagine d’accesso.
Tabelle:costituiscono lo schema secondo cui sono organizzati i dati
all’interno del database. I dati raccolti nelle strutture tabellari formano il
livello logico del database.
Query(interrogazioni sui dati): permettono di ricavare nuove tabelle da
quelle iniziali definite nel livello logico e formano, il livello esterno del
database; le tabelle ottenute attraverso una query, generalmente, non
rispettano le forme di normalizzazione.
Maschere e Report: consentono di presentare all’utente finale i dati in
modo da facilitare la consultazione (report) e il loro aggiornamento
(maschere).
Le macro e i moduli: consentono di automatizzare operazioni
particolari sui dati. In particolare le macro sono sequenze di comandi di
Access raccolte in un’unica operazione che libera l’utente da lavori
ripetitivi e noiosi, mentre i moduli sono procedure scritte in un linguaggio
interno ad Access, che permettono di eseguire operazioni più complesse
di quelle che è possibile definire attraverso le macro.
Le pagine d’accesso: sono utilizzate per visualizzare e pubblicare i dati
del
database
su
internet
utilizzando
maschere
generate
automaticamente.
 Tabelle
Una tabella è un insieme di dati relativi ad una stessa entità. I dati di
una tabella vengono rappresentati suddivisi in colonne e righe. Le
colonne vengono denominate campi e le righe record.
Per definizione di tabella si intende la descrizione della struttura della
tabella specificandom per ogni tabella:
 Il nome della colonna
 Il tipo di dati che esso contiene
 La dimensione massima prevista per i dati.
I vari tipi di dato sono:
 Testo
 Memo
-23-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
 Numerico
 Data/Ora
 Valuta
 Contatore
 Si/No
In ogni tabella è possibile definire un dato come chiave primaria oppure
inserire un contatore. Access offre la possibilità di definire e di
memorizzare le associazioni esistenti tra le tabelle del database su cui si
sta lavorando. Inoltre la definizione delle associazioni è realizzata
utilizzando in modo intuitivo l’interfaccia grafica.
 Query
Per query si intende un’interrogazione che viene posta riguardo ai dai
presenti in un database. I dati che forniscono la risposta alla domanda
definita dalla query possono provenire da una o più tabelle; inoltre i dati
prodotti da una query sono organizzati secondo la struttura di una
tabella.
I dati possono essere visualizzati in modalità:
 Struttura
 Foglio dati, presenta la tabella con i dati ottenuti come risulato
dell’interrogazione
 SQL, mostra l’istruzione SQL associata alla query.
Vi sono due tipi di query:
 A campi incrociati, questa estrae i valori di riepilogo, come somme,
conteggi e medie da un campo di una tabella e li raggruppa
visualizzandoli in una tabella a doppia entrata ponendo sulla riga di
intestazione la prima chiave di raggruppamento e sulla colonna a
sinistra la seconda chiave di raggruppamento.
 Di comando, apporta modifiche a molti rcordm con una sola
operazione.
Esistono 4 tipi di query di comando:
 Di creazione di tabella
 Di aggiornamento
 Di accoramento
 Di eliminazione
-24-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Descrizione Dettagliata del Database
La struttura del DataBase utilizzato per la realizzazione del registro di
classe, proviene dal vero DataBase Itis.mdb, che a nostra opinione è
fatto davvero bene. Alle tabelle già esistenti sono state poi aggiunte
altre tabelle, che vengono utilizzate per rendere il programma
efficiente e quanto più assomigliante alla realtà di un vero registro
elettronico.
Come si può vedere, il DataBase risulta in alcuni punti un pò
complesso, per via dei collegamenti tra le tabelle. Il DataBase è
composto da 16 tabelle:
-AccountPesonale e AccounStudente: contengono diversi dati
importanti, in particolare la matricola degli insegnanti e degli studenti,
lo user e la password che servono per i vari servizi offerti dalla
scuola(come ad esempio l’accesso alla posta elettronica), e il full
name.
-Studenti e Personale contengono Matricola che è collegato alle
rispettive AccountStudenti e AccountPersonale, poi vari dati personali
quali Cognome, Nome, Data di nascita, Gruppo di Appartenenza e per
gli studenti una cosa importante è la classe attuale, che va collegata
alla tabella classi quando si ricercano studenti di una specifica classe.
-25-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
-Classi contiene Classe, che è il codice della classe(Es: 5B9), Nome
cioè il nome proprio della classe (Es: 5B INF), Specializzazione e
Gruppo.
-Materie contiene l’Id della materia, Il Nome per intero della
materia(Es: Lingua e lettere italiane ) e il “Breve”, cioè il nome
comune della materia (Es: Italiano)
-Orario è una delle tabelle importanti del programma. Collegata alla
tabella Materie e AccountPersonale, consente di visualizzare l’orario
scolastico. Contiene Matricola, che è la matricola del docente, (Es:
00198), Classe (Es:5B9), Materia , che viene dato l’identificativo della
materia, e l’Ora, che è formato dalle due prime lettere del giorno e dal
numero che identifica l’ora (Es: LU1 identifica la prima ora del lunedi)
-Registro: La tabella Registro è molto importante perché intorno ad
essa ruotano tante altre tabelle. La tabella è fondamentale nel
programma, anche se è un po’ statica. Contiene il Giorno, di cui si
vede l’orario, o comunque il giorno della lezione, la Classe del
registro, il “Day” che identifica il giorno della settimana , cioè lunedì,
martedì.. Materia, che va da 1 a 6 che e che sono le 6materie
nell’arco di una giornata (abbiamo standardizzato che nelle ore di
laboratorio ci sia il docente di laboratorio senza mettere l’altro docente
) e poi c’è MatricolaInsegnante, sempre da 1 a 6, che riporta
l’insegnante della data ora.
-Argomenti è un’altra delle tabelle un po’ statiche, perché contiene sei
campi che riportano gli argomenti delle sei ore di una giornata
normale.
-Assenti si collega al registro con la classe e il giorno, però vengono
usati anche i campi Cognome e Nome
-Ritardi è simile ad Assenti, però contiene un campo con l’ora
d’entrata, e se ha giustificato oppure no.
-Giustifiche e Giustificato riportano rispettivamente gli alunni che
devono giustificare e quelli invece cha hanno giustificato.
-NoteClasse e NoteStudenti sono le note disciplinari. Le NoteClasse
riportano le note date alla classe, mentre le NoteStudenti riportano le
note date ai singoli studenti.
-26-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Problema DataBase
Uno dei problemi principali che abbiamo affrontato per la realizzazione
del programma, è stato quello di mettere il nostro data base su palmare.
Purtroppo, il normale mdb usato sul personal, non viene riconosciuto dal
palmare perché non esiste il componente Microsoft Access. L’unico
formato che permette di utilizzare un DataBase con SqlCE Query Analizer
è un .sdf, che non è possibile creare spostando il DataBase dal personal
al Pc attraverso la copia oppure con l’importazione dei dati che è una
funzionalità che si attiva con la sincronizzazione del palmare con
ActiveSync.
Qui possiamo vedere come avviene la copia e la conversione
-27-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Per risolvere il problema, abbiamo tentanto oltre che trasportare il
database su palmare, di utilizzare anche la MergeReplication, che però
richiedeva la connessione ad Internet del palmare ed inoltre
l’installazione dell’ IIS sulla macchina, che ipoteticamente permetteva di
visualizzare un database preso da SqlServer2000.
Quindi abbiamo deciso di trasformare le tabelle del database, in script
Sql apribili da SqlCe del palmare, che permettesse la creazione della
tabella e l’inserimento dei dati. Anche se è codice SQL, SqlCe non è
proprio fratello di Sql normale, ma presenta alcune minime variazioni ad
esempio in materia del tipo di dati. Per creare le tabelle è stato usato il
programma DbaMgr che permette di creare degli Script di SQL. Si
connette alla macchina locale o comunque quella dove è il database.
Grazie all’Enterprise Manager di Microsoft SQL Server è possibile
importate i dati di un database esterno, grazie semplicemente alla
funzione importa dati.
Con l’uso del programma DbaMgr, vengono create l tabelle com file .Sql.
un esempio della creazione della tabella e dello script dell’inserimento dei
suoi dati.
Es: Studenti.Sql
CREATE TABLE Studenti (
Matricola nvarchar (5) NULL ,
Cognome nvarchar (20) NULL ,
Nome nvarchar (20) NULL ,
DataNascita nvarchar(20) NULL ,
ClasseAttuale nvarchar (4) NULL ,
-28-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
ClasseProvenienza nvarchar (4) NULL ,
GruppoAlternativo1 nvarchar (11) NULL ,
GruppoAlternativo2 nvarchar (11) NULL
)
è stata creata la tabella. Ora bisogna prendere i dati.
INSERT
INTO
[dbo].[Studenti]
([Matricola],
[Cognome],
[Nome],
[DataNascita], [ClasseAttuale], [ClasseProvenienza], [GruppoAlternativo1],
[GruppoAlternativo2] )
VALUES ( '00078', 'VESCOVI', 'ANDREA', '1983-09-07', '5S15', '4BPG', NULL,
NULL )
INSERT
INTO
[dbo].[Studenti]
([Matricola],
[Cognome],
[Nome],
[DataNascita], [ClasseAttuale], [ClasseProvenienza], [GruppoAlternativo1],
[GruppoAlternativo2] )
VALUES ( '00087', 'MANTOVANI', 'ANDREA', '1983-04-16', '5S17', '4S17',
NULL, NULL )
Le differenze con del linguaggio come prima detto sta nelle parentesi
quadre, e tra l’inserimento di un dato e l’altro è richiesto il punto e
virgola. Questa operazione di inserimento è utile come in questo caso
che nel database ci sono oltre 1000 records che sarebbe stato folle
scrivere a mano. Anche scrivendone solo una parte questo avrebbe
compromesso la piena funzionalità del progetto.
Questo è lo schema del database che compare sull’SQLCE Query del
palmare.
L’SqlCe query ha anche una componente Sql che permette di scrivere
codice puro, come si vede dall’immagine sotto
-29-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
E poi vedere i dati nella componente Grid
Per il funzionamento del programma serve il database, e tutte le tabelle
sono scaricabili dal sito.
Configurazione
sviluppo.
degli
ambienti
client
e
di
Una volta scaricato dal sito della Microsoft SQL Server CE 2.0, scaricabile
da http://www.microsoft.com/sql/ce/downloads/ce20.asp
È possibile effettuare il processo di installazione. Lanciato il programma
di installazione bisognerà selezionare l’opzione “Development Tools”.
Terminato il processo di installazione di Sql Server Ce, l’ambiente di
sviluppo è già automaticamente configurato. Non viene fatto il processo
di download di SQl Server Ce sul dispositivo palmare fino a che non
viene eseguita una ulteriore operazione. Ecco come si effettua
-30-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
l’installazione automatica da Visual Studio .Net con c# e in generale della
creazione di un’applicazione per palmare:
Si apre Visual Studio. Net e si crea un nuovo progetto.
Si crea una nuova applicazione per Smart Device, visto che è una cosa
che l’ambiente di sviluppo ci regala già di suo.
Poi bisogna scegliere se l’applicazione girerà su un PocketPc o su un
pocket con Window CE, che sono i palmari i ultima generazione. Per il
momento e per le nostre esigenze, sciegliamo Pocket Pc.
Dal menù Progetto, selezioniamo la voce Aggiungi Riferimento, e
selezioniamo le voci SqlServerCe e SqlClient. Ora è sufficiente lanciare
-31-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
un’applicazione perché vengano in automatico scaricati e registrati sul
Pocket PC non solo SQL Server Ce, ma anche ADOCE e ADOXCE che
permetteranno come componenti di accesso ai dati e di modifica dello
schema del DataBase
-32-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Il .Net Compact Framework
Con .NET Compact Framework viene messo a disposizione dei dispositivi
la
potente
piattaforma
di
sviluppo
di
.NET
Framework.
.NET Compact Framework costituisce un ambiente indipendente
dall'hardware per l'esecuzione di programmi su dispositivi di
elaborazione con risorse limitate che comprendono PDA (Personal Data
Assistant) quali i Pocket PC, telefoni cellulari, set-top box, dispositivi di
elaborazione del settore automobilistico e dispositivi incorporati a
progettazione personalizzata, creati con il sistema operativo Windows CE
.NET.
.NET Compact Framework, che rappresenta un sottoinsieme della libreria
di classi .NET Framework, contiene anche classi appositamente
progettate ed eredita interamente l'architettura .NET Framework per
Common Language Runtime e l'esecuzione di codice gestito.
In .NET Compact Framework vengono fornite le seguenti funzionalità
principali:
 Supporto di protocolli di rete comuni e facile connessione con
servizi Web XML.
 Disponibilità per gli sviluppatori di un modello che consente di
progettare applicazioni e componenti per una vasta gamma di
dispositivi oppure per una categoria specifica.
 Vantaggi a livello di progettazione e ottimizzazione delle limitate
risorse di sistema.
 Prestazioni ottimali nella generazione di codice nativo mediante la
compilazione JIT (Just-In-Time).
Classi disponibili solo in .NET Compact Framework
Le classi elencate di seguito sono disponibili esclusivamente in .NET
Compact Framework.
 Classi IrDA (Infrared Data Association):
Classe IrDAEndPoint
Membri IrDAEndPoint
Costruttori pubblici
Costruttore IrDAEndPoint
Inizializza una nuova istanza della classe
IrDAEndPoint.
-33-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Supportato solo da .NET Compact Framework.
Proprietà pubbliche
AddressFamily
Supportato solo da .NET Compact Framework.
Sottoposto a override. Ottiene il gruppo di
indirizzi a cui appartiene l'endpoint.
DeviceID
Supportato solo da .NET Compact Framework.
Ottiene o imposta un identificatore per la
periferica.
ServiceName
Supportato solo da .NET Compact Framework.
Ottiene o imposta il nome del servizio.
Metodi pubblici
Create
Supportato solo da .NET Compact Framework.
Sottoposto a override. Crea un IrDAEndPoint
da un indirizzo socket.
Equals (ereditato da Object)
Supportato solo da .NET Compact Framework.
Sottoposto a overload. Consente di determinare
se due istanze di Object sono uguali.
GetHashCode (ereditato da Object)
Supportato solo da .NET Compact Framework.
Viene utilizzato come funzione hash per un tipo
particolare, adatto per l'utilizzo in algoritmi hash
e in strutture di dati simili a una tabella hash.
GetType (ereditato da Object)
Supportato solo da .NET Compact Framework.
Ottiene l'oggetto Type dell'istanza corrente.
Serialize
Supportato solo da .NET Compact Framework.
Sottoposto a override. Serializza le informazioni
di endpoint in un SocketAddress.
ToString (ereditato da Object)
Supportato solo da .NET Compact Framework.
Restituisce un oggetto String che rappresenta
l'oggetto Object corrente.
Metodi protetti
Finalize (ereditato da Object)
Supportato solo da .NET Compact Framework.
MemberwiseClone (ereditato da Object)
Supportato solo da .NET Compact Framework.
Sottoposto a override. Consente a un oggetto
Object di provare a liberare risorse ed eseguire
altre operazioni di pulitura prima che l'oggetto
Object stesso venga recuperato dalla procedura
di Garbage Collection. In C# e C++ i
finalizzatori sono espressi tramite la sintassi del
distruttore.
Consente di creare una copia dei riferimenti
dell'oggetto Object corrente.
Enumerazione IrDACharacterset
-34-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Enumerazione IrDACharacterSet che descrive i seguenti set di
caratteri, utilizzati dalle classi IrDAClient e IrDADeviceInfo.
Membri IrDACharacterset
ASCII
Supportato solo da .NET Compact Framework.
Set di caratteri ASCII.
ISO8859Arabic
Supportato solo da .NET Compact Framework.
Set di caratteri grafici arabo.
ISO8859Cyrillic
Supportato solo da .NET Compact Framework.
Set di caratteri grafici cirillico.
ISO8859Greek
Supportato solo da .NET Compact Framework.
Set di caratteri grafici greco.
ISO8859Hebrew
Supportato solo da .NET Compact Framework.
Set di caratteri grafici ebraico.
ISO8859Latin1
Supportato solo da .NET Compact Framework.
Set di caratteri grafici Europa occidentale.
ISO8859Latin2
Supportato solo da .NET Compact Framework.
Set di caratteri grafici Europa orientale.
ISO8859Latin3
Supportato solo da .NET Compact Framework.
Set di caratteri grafici Europa meridionale.
ISO8859Latin4
Supportato solo da .NET Compact Framework.
Set di caratteri grafici Europa settentrionale.
ISO8859Latin5
Supportato solo da .NET Compact Framework.
Set di caratteri grafici turco.
Unicode
Supportato solo da .NET Compact Framework.
Set di caratteri Unicode.
Classe IrDAClient
Membri IrDAClient
Costruttori pubblici
Costruttore IrDAClient
Supportato solo da .NET Compact Framework.
Sottoposto a overload. Inizializza una nuova
istanza della classe IrDAClient.
Proprietà pubbliche
RemoteMachineName
Supportato solo da .NET Compact Framework.
Ottiene il nome della periferica che partecipa
alla comunicazione.
-35-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Metodi pubblici
Close
Supportato solo da .NET Compact Framework.
Chiude il socket della connessione.
Connect
Supportato solo da .NET Compact Framework.
Sottoposto a overload. Effettua la connessione di
un client a un servizio specificato.
DiscoverDevices
Supportato solo da .NET Compact Framework.
Sottoposto a overload. Ottiene informazioni
sulle periferiche che partecipano a
comunicazioni a infrarossi.
Equals (ereditato da Object)
Supportato solo da .NET Compact Framework.
Sottoposto a overload. Consente di determinare
se due istanze di Object sono uguali.
GetHashCode (ereditato da Object)
Supportato solo da .NET Compact Framework.
Viene utilizzato come funzione hash per un tipo
particolare, adatto per l'utilizzo in algoritmi hash
e in strutture di dati simili a una tabella hash.
GetRemoteMachineName
Supportato solo da .NET Compact Framework.
Ottiene il nome di una periferica che utilizza un
socket specificato.
GetStream
Supportato solo da .NET Compact Framework.
Ottiene il flusso di dati sottostante.
GetType (ereditato da Object)
Supportato solo da .NET Compact Framework.
Ottiene l'oggetto Type dell'istanza corrente.
ToString (ereditato da Object)
Supportato solo da .NET Compact Framework.
Restituisce un oggetto String che rappresenta
l'oggetto Object corrente.
Metodi protetti
Finalize (ereditato da Object)
Supportato solo da .NET Compact Framework.
MemberwiseClone (ereditato da Object)
Supportato solo da .NET Compact Framework.
Sottoposto a override. Consente a un oggetto
Object di provare a liberare risorse ed eseguire
altre operazioni di pulitura prima che l'oggetto
Object stesso venga recuperato dalla procedura
di Garbage Collection. In C# e C++ i
finalizzatori sono espressi tramite la sintassi del
distruttore.
Consente di creare una copia dei riferimenti
dell'oggetto Object corrente.
Classe IrDADeviceInfo
Membri IrDADeviceInfo
Proprietà pubbliche
CharacterSet
Supportato solo da .NET Compact Framework.
DeviceID
Ottiene il set di caratteri utilizzato dal server, ad
esempio il set di caratteri ASCII.
Ottiene l'identificatore di periferica.
-36-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Supportato solo da .NET Compact Framework.
DeviceName
Supportato solo da .NET Compact Framework.
Hints
Supportato solo da .NET Compact Framework.
Ottiene il nome di una periferica.
Ottiene il tipo di periferica, ad esempio un
computer.
Metodi pubblici
Sottoposto a overload. Consente di determinare
se due istanze di Object sono uguali.
Viene utilizzato come funzione hash per un tipo
particolare, adatto per l'utilizzo in algoritmi hash
e in strutture di dati simili a una tabella hash.
Ottiene l'oggetto Type dell'istanza corrente.
Equals (ereditato da Object)
Supportato solo da .NET Compact Framework.
GetHashCode (ereditato da Object)
Supportato solo da .NET Compact Framework.
GetType (ereditato da Object)
Supportato solo da .NET Compact Framework.
ToString (ereditato da Object)
Supportato solo da .NET Compact Framework.
Restituisce un oggetto String che rappresenta
l'oggetto Object corrente.
Metodi protetti
Sottoposto a override. Consente a un oggetto
Object di provare a liberare risorse ed eseguire
altre operazioni di pulitura prima che l'oggetto
Object stesso venga recuperato dalla procedura
di Garbage Collection. In C# e C++ i finalizzatori
sono espressi tramite la sintassi del distruttore.
Consente di creare una copia dei riferimenti
dell'oggetto Object corrente.
Finalize (ereditato da Object)
Supportato solo da .NET Compact Framework.
MemberwiseClone (ereditato da Object)
Supportato solo da .NET Compact Framework.
Enumerazione IrDAHints
Descrive un'enumerazione dei tipi di periferica possibili, ad esempio Fax.
Questa enumerazione ha attributo un FlagsAttribute che consente una
combinazione bit per bit dei valori dei membri.
Membri IrDAHints
Nome membro
Computer
Supportato solo da .NET
Compact Framework.
Fax
Supportato solo da .NET
Compact Framework.
FileServer
Supportato solo da .NET
Compact Framework.
Descrizione
Valore
PC
4
Fax
32
File server di PC
512
-37-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
LanAccess
Supportato solo da .NET
Compact Framework.
Modem
Supportato solo da .NET
Compact Framework.
None
Supportato solo da .NET
Compact Framework.
PdaAndPalmtop
Supportato solo da .NET
Compact Framework.
PnP
Supportato solo da .NET
Compact Framework.
Printer
Supportato solo da .NET
Compact Framework.
Telephony
Supportato solo da .NET
Compact Framework.
Accesso alla rete locale
64
Modem
16
Nome che non indica alcuna
periferica
0
Pocket PC
2
Interfaccia Plug and Play
1
Stampante
8
Dispositivo telefonico
256
Classe IrDAListener
Membri IrDAListener
Costruttori pubblici
Costruttore IrDAListener
Supportato solo da .NET Compact Framework.
Sottoposto a overload. Inizializza una nuova
istanza della classe IrDAListener.
Proprietà pubbliche
LocalEndpoint
Supportato solo da .NET Compact Framework.
Ottiene una nuova istanza della classe
IrDAListener.
Metodi pubblici
AcceptIrDAClient
Supportato solo da .NET Compact Framework.
AcceptSocket
Supportato solo da .NET Compact Framework.
Equals (ereditato da Object)
Supportato solo da .NET Compact Framework.
GetHashCode (ereditato da Object)
Supportato solo da .NET Compact Framework.
GetType (ereditato da Object)
Supportato solo da .NET Compact Framework.
Crea un oggetto client per una connessione
quando il servizio o il punto finale specificato
viene rilevato dal componente listener.
Crea un nuovo socket per una connessione.
Sottoposto a overload. Consente di determinare
se due istanze di Object sono uguali.
Viene utilizzato come funzione hash per un tipo
particolare, adatto per l'utilizzo in algoritmi hash
e in strutture di dati simili a una tabella hash.
Ottiene l'oggetto Type dell'istanza corrente.
-38-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Pending
Supportato solo da .NET Compact Framework.
Start
Supportato solo da .NET Compact Framework.
Stop
Supportato solo da .NET Compact Framework.
ToString (ereditato da Object)
Supportato solo da .NET Compact Framework.
Determina se è presente una connessione in
sospeso.
Avvia il socket per attendere le connessioni in
ingresso.
Arresta il socket per il monitoraggio delle
connessioni.
Restituisce un oggetto String che rappresenta
l'oggetto Object corrente.
Metodi protetti
Finalize (ereditato da Object)
Supportato solo da .NET Compact Framework.
MemberwiseClone (ereditato da Object)
Supportato solo da .NET Compact Framework.
Sottoposto a override. Consente a un oggetto
Object di provare a liberare risorse ed eseguire
altre operazioni di pulitura prima che l'oggetto
Object stesso venga recuperato dalla procedura
di Garbage Collection.
In C# e C++ i finalizzatori sono espressi tramite
la sintassi del distruttore.
Consente di creare una copia dei riferimenti
dell'oggetto Object corrente.
Classi di SQL Server CE:
Spazio dei nomi System.Data.SqlServerCE
Lo spazio dei nomi System.Data.SqlServerCe è il provider di dati .NET
Compact Framework di SQL Server CE. Il provider di dati .NET Compact
Framework di SQL Server CE descrive un insieme di classi utilizzate per
accedere a un database SQL Server CE da periferiche basate su Windows
CE
nello
spazio
gestito.
Con
lo
spazio
dei
nomi
System.Data.SqlServerCe, è possibile creare database SQL Server CE
su una periferica e stabilire connessioni a database SQL Server su
un'altra periferica o su un server remoto.
Classi
SqlCeCommand
SqlCeCommandBuilder
SqlCeConnection
SqlCeDataAdapter
Rappresenta un'istruzione SQL da eseguire in
relazione a un'origine dati.
Consente la generazione automatica di comandi
di tabella singola per risolvere le modifiche
apportate a un oggetto DataSet con il database
SQL Server CE associato. Questa classe non può
essere ereditata.
Rappresenta una connessione aperta a un'origine
dati.
Rappresenta un gruppo di comandi di dati e una
connessione a un database utilizzati per
-39-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
SqlCeDataReader
SqlCeEngine
SqlCeError
SqlCeErrorCollection
SqlCeException
SqlCeInfoMessageEventArgs
SqlCeParameter
SqlCeParameterCollection
SqlCeRemoteDataAccess
SqlCeReplication
SqlCeRowUpdatedEventArgs
SqlCeRowUpdatingEventArgs
SqlCeTransaction
compilare l'oggetto DataSet e aggiornare l'origine
dati.
Fornisce un modo per leggere un flusso di righe
di dati forward-only da un'origine dati. Questa
classe non può essere ereditata.
Rappresenta le proprietà, i metodi e altri oggetti
del modulo di gestione SQL Server CE. Questa
classe non può essere ereditata.
Raccoglie informazioni importanti relative a un
avviso o a un errore restituito dall'origine dati.
Questa classe non può essere ereditata.
Raccoglie tutti gli errori generati dal provider di
dati .NET Compact Framework di SQL Server.
Questa classe non può essere ereditata.
Eccezione generata quando il provider sottostante
restituisce un avviso o un errore da un'origine dati
SQL Server CE. Questa classe non può essere
ereditata.
Fornisce i dati per l'evento InfoMessage. Questa
classe non può essere ereditata.
Rappresenta un parametro di un oggetto
SqlCeCommand e, facoltativamente, il relativo
mapping a una colonna DataSet. Questa classe
non può essere ereditata.
Raccoglie tutti i parametri principali di un
oggetto SqlCeCommand e i rispettivi mapping
alle colonne di DataSet.
Consente di inizializzare una nuova istanza
dell'oggetto SqlCeRemoteDataAccess. Per
ulteriori informazioni sull'accesso remoto ai dati,
vedere la documentazione in linea di SQL Server
CE.
Consente di inizializzare una nuova istanza
dell'oggetto SqlCeReplication. Per ulteriori
informazioni sulla replica, vedere la
documentazione in linea di SQL Server. Per
ulteriori informazioni sulla replica di tipo di
merge in SQL Server CE, vedere la
documentazione in linea di SQL Server CE.
Fornisce i dati per l'evento RowUpdated.
Fornisce i dati per l'evento RowUpdating.
Rappresenta una transazione SQL da effettuare in
corrispondenza di un'origine dati. Questa classe
non può essere ereditata.
Delegati
SqlCeInfoMessageEventHandler
SqlCeRowUpdatedEventHandler
Rappresenta il metodo che gestirà l'evento
InfoMessage di un oggetto SqlCeConnection.
Rappresenta il metodo mediante il quale verrà
-40-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
SqlCeRowUpdatingEventHandler
gestito l'evento RowUpdated di un oggetto
SqlCeDataAdapter.
Rappresenta il metodo mediante il quale verrà
gestito l'evento RowUpdating di un oggetto
SqlCeDataAdapter.
Enumerazioni
AddOption
Specifica l'origine del nuovo database SQL
Server CE database.
Opzioni utilizzate dal metodo SetRange quando
viene specificato l'intervallo di indice su cui
eseguire il metodo Seek.
Opzioni che consentono di specificare le modalità
del metodo Seek su un indice.
Consente di specificare se lasciare o eliminare il
database SQL Server CE durante la rimozione di
una sottoscrizione.
Consente di specificare se l'unione dei dati
avviene al livello del server di pubblicazione o in
entrambe le direzioni tra server di pubblicazione
e server di sottoscrizione.
Consente di specificare il protocollo di rete
utilizzato.
Consente di specificare se effettuare il batch delle
righe associate al metodo Push in un'unica
transazione.
Consente di specificare se tenere traccia della
tabella estratta nella periferica.
DbRangeOptions
DbSeekOptions
DropOption
ExchangeType
NetworkType
RdaBatchOption
RdaTrackOption
Descrizione delle classi fondamentali utilizzate nel nostro programma:
SqlCeCommand
Rappresenta un'istruzione SQL da eseguire in relazione a un'origine dati.
Quando viene creata un'istanza di SqlCeCommand, le proprietà di
lettura/scrittura vengono impostate sui valori iniziali. L'oggetto
SqlCeCommand comprende i seguenti metodi per l'esecuzione di
comandi in un'origine dati:
Elemento
ExecuteReader
ExecuteNonQuery
ExecuteScalar
Descrizione
Esegue i comandi che restituiscono righe.
Esegue comandi SQL quali istruzioni INSERT,
DELETE e UPDATE.
Recupera un valore singolo, ad esempio un valore
-41-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
aggregato, da un database.
Il provider di dati .NET Compact Framework di SQL Server CE non
supporta i parametri denominati per passare parametri a un'istruzione
SQL chiamata da un oggetto SqlCeCommand quando la proprietà
CommandType è impostata su Text. È necessario utilizzare il segnaposto
punto interrogativo (?). Ad esempio:
SELECT * FROM Customers WHERE CustomerID = ?
È necessario che l'ordine in cui gli oggetti SqlCeParameter vengono
aggiunti all'insieme SqlCeParameterCollection corrisponda alla posizione
del
segnaposto
punto
interrogativo
per
il
parametro.
Il provider di dati di SQL Server CE, inoltre, non supporta query in batch.
È necessario che i comandi siano nel formato
Select * from Customers
anziché Select * from Customers; Select * from Orders;
Se si utilizza del codice generato per System.Data.SqlClient, può essere
necessario modificare le query in modo conforme a questa restrizione.
Sebbene SQL Server CE supporti una sola connessione alla volta, è
possibile che più comandi condividano la stessa connessione. Pertanto è
possibile disporre di più istanze di SqlCeDataReader sulla stessa
connessione. Questo comportamento è diverso da quello di
System.Data.SqlClient. Se viene generata un'eccezione SqlCeException
irreversibile dal metodo durante l'esecuzione di un comando
SqlCeCommand, è possibile che la connessione SqlCeConnection venga
chiusa. È possibile riaprire la connessione e continuare.
SqlCeDataReader
Fornisce un modo per leggere un flusso di righe di dati forward-only da
un'origine dati. Questa classe non può essere ereditata. Per creare un
oggetto SqlCeDataReader, è necessario chiamare il metodo
ExecuteReader
dell'oggetto
SqlCeCommand,
anziché
utilizzare
direttamente un costruttore. Mentre l'oggetto SqlCeDataReader è in
uso, l'oggetto SqlCeConnection associato è occupato nel rendere
disponibile l'oggetto SqlCeDataReader. In questo stato, è possibile
creare più visualizzatori nella stessa connessione. Le modifiche apportate
a un gruppo di risultati da un altro processo o thread durante la lettura
dei dati sono visibili agli utenti di SqlCeDataReader, tuttavia il
comportamento preciso dipende da quando vengono apportate. IsClosed
e RecordsAffected sono le uniche proprietà che è possibile chiamare dopo
la chiusura dell'oggetto SqlCeDataReader. Anche se è possibile
accedere alla proprietà RecordsAffected in qualsiasi momento in
presenza dell'oggetto SqlCeDataReader, è preferibile chiamare sempre
-42-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
il metodo Close prima della restituzione del valore della proprietà
RecordsAffected per assicurare un valore restituito preciso.
SqlCeCommandBuilder
Consente la generazione automatica di comandi di tabella singola per
risolvere le modifiche apportate a un oggetto DataSet con il database
SQL Server CE associato. Questa classe non può essere ereditata.
L'oggetto SqlCeCommandBuilder crea istruzioni SQL che non rilevano
conflitti.
Questo
comportamento
è
diverso
da
quello
di
System.Data.SqlClient.
L'oggetto SqlCeCommandBuilder registra se stesso come listener di
eventi RowUpdating ogni volta che viene impostata la proprietà
DataAdapter. È possibile associare reciprocamente solo un oggetto
SqlCeDataAdapter o SqlCeCommandBuilder alla volta. Per generare
istruzioni INSERT, UPDATE o DELETE, l'oggetto SqlCeCommandBuilder
utilizza la proprietà SelectCommand per recuperare automaticamente un
set
obbligatorio
di
metadati.
Se
si
modifica
la
proprietà
SelectCommand dopo il recupero dei metadati, ad esempio dopo il
primo aggiornamento, è necessario chiamare il metodo RefreshSchema
per aggiornare i metadati. È inoltre necessario che la proprietà
SelectCommand restituisca almeno una chiave primaria o una colonna
univoca. In caso contrario, viene generata un'eccezione InvalidOperation
e i comandi non vengono generati. L'oggetto SqlCeCommandBuilder
utilizza inoltre le proprietà Connection e Transaction a cui fa riferimento
la proprietà SelectCommand. Se una di queste proprietà viene
modificata o se la stessa SelectCommand viene sostituita, è necessario
chiamare il metodo RefreshSchema. In caso contrario, le proprietà
InsertCommand, UpdateCommand e DeleteCommand mantengono i
valori
precedenti.
Se
si
chiama
il
metodo
Dispose,
SqlCeCommandBuilder
viene
dissociato
dall'oggetto
SqlCeDataAdapter e i comandi generati non vengono più utilizzati.
SqlCeConnection
Rappresenta una connessione aperta a un'origine dati. Un oggetto
SqlCeConnection rappresenta una connessione univoca a un'origine
dati. Quando si crea un'istanza di SqlCeConnection tutte le proprietà
vengono impostate sui valori iniziali. Se l'oggetto SqlCeConnection
diventa esterno all'ambito, non viene chiuso. È necessario chiudere
esplicitamente la connessione chiamando il metodo Close o Dispose.
Sebbene SQL Server CE supporti una sola connessione alla volta, è
possibile che più comandi condividano la stessa connessione. È pertanto
possibile disporre di più istanze di SqlCeDataReader aperte sulla stessa
connessione. Questo comportamento è diverso da quello di
-43-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
System.Data.SqlClient. Se viene generata un'eccezione SqlCeException
irreversibile dal metodo durante l'esecuzione di un comando
SqlCeCommand, è possibile che la connessione SqlCeConnection venga
chiusa. È possibile riaprire la connessione e continuare.
SqlCeDataAdapter
Rappresenta un gruppo di comandi di dati e una connessione a un
database utilizzati per compilare l'oggetto DataSet e aggiornare l'origine
dati. L'oggetto SqlCeDataAdapter funge da ponte tra un oggetto
DataSet e un'origine dati per il recupero e il salvataggio dei dati.
L'oggetto SqlCeDataAdapter fornisce tale ponte tramite il metodo Fill
per caricare i dati dall'origine dati nell'oggetto DataSet e tramite il
metodo Update per inviare di nuovo all'origine dati le modifiche
apportate in DataSet. Quando l'oggetto SqlCeDataAdapter inserisce i
dati in un oggetto DataSet, vengono create le tabelle e le colonne
necessarie per i dati restituiti, se non già esistenti. Le informazioni sulla
chiave primaria non saranno incluse nello schema creato in maniera
implicita a meno che la proprietà MissingSchemaAction non sia impostata
su AddWithKey. È possibile inoltre fare in modo che l'oggetto
SqlCeDataAdapter crei lo schema dell'oggetto DataSet, comprese le
informazioni di chiave primaria, prima di inserire i dati mediante il
metodo FillSchema. L'oggetto SqlCeDataAdapter contiene inoltre le
proprietà
SelectCommand,
InsertCommand,
DeleteCommand,
UpdateCommand e TableMappings mediante le quali viene semplificato il
caricamento e l'aggiornamento dei dati. Quando si crea un'istanza di
SqlCeDataAdapter le proprietà vengono impostate sui valori iniziali.
DataSet
L'oggetto DataSet, che rappresenta una cache in memoria dei dati
recuperati da un'origine dati, costituisce un componente fondamentale
dell'architettura ADO.NET. L'oggetto DataSet è costituito da un insieme
di oggetti DataTable che è possibile porre in relazione tra loro mediante
oggetti DataRelation. È inoltre possibile applicare l'integrità dei dati
nell'oggetto DataSet utilizzando gli oggetti UniqueConstraint e
ForeignKeyConstraint. Mentre gli oggetti DataTable contengono i dati,
l'insieme DataRelationCollection consente di spostarsi all'interno della
gerarchia delle tabelle. Le tabelle sono contenute in un insieme
DataTableCollection cui si accede tramite la proprietà Tables. Quando si
accede agli oggetti DataTable, è opportuno ricordare che tali oggetti
prevedono la distinzione tra maiuscole e minuscole in modo condizionale.
Se ad esempio un oggetto DataTable viene denominato "studenti" e un
altro viene denominato "Studenti", alla stringa utilizzata per eseguire la
ricerca di una delle tabelle verrà applicata la distinzione tra maiuscole e
-44-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
minuscole. Se tuttavia esiste soltanto "studenti" e non "Studenti", alla
stringa di ricerca non verrà applicata alcuna distinzione tra maiuscole e
minuscole. In una tipica implementazione per creare e aggiornare un
oggetto DataSet e per aggiornare i dati originali, le principali operazioni
da svolgere sono le seguenti:
1. Generazione e immissione nel DataSet di un oggetto DataTable di
dati provenienti da un'origine dati mediante DataAdapter.
2. Modifica dei dati nel DataTable mediante aggiunta, aggiornamento
o eliminazione degli oggetti DataRow.
3. Chiamata al metodo Update dell'oggetto DataAdapter.
 Classi Microsoft.WindowsCE.Forms:
Componente InputPanel
.NET
Compact
Framework
include
il
componente
Microsoft.WindowsCE.Forms.InputPanel, mediante il quale viene
controllato a livello di codice il pannello SIP (Soft Input Panel) disponibile
sui Pocket PC e su altri dispositivi che eseguono Windows CE .NET. La
programmazione del SIP è necessaria, ad esempio, per riposizionare o
ridimensionare i controlli sul form quando il SIP è abilitato o disabilitato.
Quando si crea un'applicazione basata su Windows destinata alla
piattaforma
Pocket
PC,
un
componente
MainMenu
viene
automaticamente aggiunto da Visual Studio .NET al file Form1 nel
progetto. Il form contiene quindi la barra di menu inferiore con l'icona
SIP. Non è necessario programmare il SIP per utilizzarlo, è sufficiente
toccarne l'icona per attivarne o disattivarne la visualizzazione. Per
programmare il SIP, trascinare il componente InputPanel dalla Casella
degli strumenti al form.
Struttura Message
Classe MessageWindow
-45-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
Bibliografia
In questa pagina citiamo i siti e i libri che sono risultati utili per la
risoluzione di alcuni dei nostri dubbi e al completamento del nostro
progetto.
Libri:
Rivista “ioProgrammo” del Giugno 2003
Questa rivista è stata utile perché ci ha introdotto alla programmazione
su palmare.
Siti Internet:
ww.microsoft.com/library/ITA/dv_evtuv/html/etconnectcompactframewo
rk.asp
Per saperne di più sulla piattaforma.Net Compact Framework
http://www.microsoft.com/sql/ce/downloads/ce20.asp
Da questo sito è possibile scaricare SQL Server CE 2.0
www.itportal.it/iop70/pocket.zip
E' un listato che permette di creare una pubblicazione di DataBase da
SQL Server sul palmare.
http://www.ondotnet.com/lpt/a/3085
In questo sito viene spiegato passo per passo come fare per poter creare
una connessione tra l’applicazione e il database (su palmare)
http://msdn.microsoft.com/library/ITA/dv_evtuv/tml/etconwalkthroughc
reatingsqlservercr.asp
Procedura dettagliata di utilizzo di database SQL Server CE
http://msdn.microsoft.com/library/ita/default.asp?url=/library/ITA/dv_e
vtuv/html/etconwalkthroughcreatingsqlservercedatabase.asp
Da questo sito è abbiamo iniziato la nostra “avventura” per capire il
funzionamento di un database su palmare
-46-
Tesina D’esame - A.s. 2004-05
Crescenzo Francesco
Mori Filippo
Il Registro Elettronico
www. palmari.html.it/guide.htm
Da questo sito è possibile avere chiarimenti riguardo i diversi tipi di
palmari
http://forum.html.it/forum/
Questo è il forum di html.it, qui una intera comunità di esperti
programmatori ci ha aiutato a risolvere tutti i problemi inerenti al
linguaggio c#, alla programmazione su palmare e alla gestione di
database.
-47-