martedì 24 giugno 2014

Lavorare con i database

Livecode puo' lavorare con qualunque database. Livecode ha integrato SQLite, ma potete interfacciarci con qualunque database cha abbia una interfaccia ODBC (quasi tutti ce l'hanno), ecco i piu' popolari:
  • SQLite
  • MySQL
  • Oracle
  • PostgreSQL
  • Valentina
I database sono, di solito, dei file esterni al nostro programma che possono essere sullo stesso pc su cui gira il nostro programma o su un server remoto. I database contengono tantissime informazioni catalogate. Grazie ai database noi possiamo ricercare informazioni, inserire o cancellare dei dati, tutto secondo particolari criteri che impostiamo noi.
Il linguaggio utilizzato da quasi tutti i database è il SQL. Generalmente i comandi validi per un database, valgono anche per tutti gli altri.
Riassumendo in poche parole un database, si può affermare che si tratta di una raccolta di tabelle, dentro ogni tabella i dati sono organizzati per righe e per colonne.
I database hanno dei vantaggi:
  • veloci a trovare i dati che si servono tra migliaia di dati
  • occupano poco spazio
  • sono ottimizzati per fare il loro lavoro
  • sono velocissimi
  • si riescono ad incrociare i dati di piu' tabelle facilmente
Potreste fare le stesse cose di un database con una matrice, ma trattando molti dati, vi consiglio di imparare ad utilizzare i database.

Connessione

Per utilizzare un database bisogna prima connettersi ad un database, utilizzando la funzione revOpenDatabase() e memorizzare l'identificato della connessione. Per esempio con SQLite si scrivera':

put revOpenDatabase("sqlite", "./mioDB.sqlite", , , , ) into connID




in questo esempio la variabile connID contiene l'identificativo della connessione (e' un semplice numero). Potete stabilire piu' connessioni contemporaneamente.

Interrogare

Per recuperare delle informazioni dal database, in gergo si dice interrogare, basta usare il comando la funzione revDataFromQuery, specificando come separare righe e colonne:


put "SELECT * from utenti ; " into tSQL
put revDataFromQuery(tab,return,connID,tSQL) into tRecords




in questo caso abbiamo che tRecords contiene tutti i dati dove ogni colonna e' separata dall'altro dal carattere TAB e ogni riga da un accapo. Questa forma potete cambiarla, ma e' molto comoda perchè permette di visualizzare i dati un un campo di testo come una vera tabella (field, label).

Eseguire

Per eseguire dei comandi che modificano in database, basta usare il comando revExecuteSQL, ad esempio:


put "INSERT into users (name,surname) VALUES ('Jack','Sparrow')" into tSQL
revExecuteSQL connID,tSQL

Chiudere la connessione

Quando si lavora su database installati su server, tipo MySQL, conviene chiudere la connessione quando non si lavora più con il database, ecco il codice:
revCloseDatabase connID