lunedì 15 dicembre 2014

SQLite: controllare l'esistenza di una colonna

SQLite è un database che presenta molti vantaggi: portabile, non necessita di un server, basato su un solo file, piccolo e potente. L'altro lato della medaglia, al momento, è che gli mancano delle funzioni sofisticate sull'analisi e la modifica: ad esempio per sapere se esiste una colonna in una tabella, non c'è un metodo diretto.
SQLite mette a disposizione solamente il comando PRAGMA table_info(table-name). Questo comando restituisce una tabella come la seguente:
cidnametypenotnulldflt valuepk
0prima colonna TEXT00
1seconda colonna TEXT00

i nomi della tabella sono quelli della colonna name. Se ad esempio volessimo veirificare l'esitenza della colonna musiche nella tabella miatabella, sfruttando livecode possiamo scrivere il seguente codice atto alla verifica dell'esistenza di una colonna.:

put "PRAGMA table_info(miatabella);" into tSQL
put revDataFromQuery(comma,return,connID,tSQL) into tRecords
if "musiche" is not among the items of tRecords then   
   answer "La colonna musiche non esiste"
else
   answer "Colonna musiche trovata"
end if