Consultes incloses en el script
En els exemples d'ús de cada consulta, es fa referència a la taula amb dades d'alumnes que hem creat prèviament:
En tots els casos, les consultes es fan amb el component Web, indicant la URL del script i els paràmetres de consulta. Els resultats de les consultes s'obtenen amb el bloc Web.GotText, en el paràmetre responseContent. Els resultats es poden desar, mostrar en un Notifier, associar-los a un ListPicker …
SELECT
La consulta select retorna els registres de la taula segons els criteris establerts.
Per seleccionar tots els registres,
scriptURL?query=select
Per seleccionar els registres on cert camp té un valor determinat,
scriptURL?query=select&where=camp&is=valor
Per seleccionar els registres on cert camp NO té un valor determinat,
scriptURL?query=select&where=camp&isnot=valor
Per seleccionar els registres on es compleixen dues condicions,
scriptURL?query=select&where=camp1&is=valor1&and=camp2&equal=valor2
Per seleccionar els registres on es compleix alguna de les dues condicions,
scriptURL?query=select&where=camp1&is=valor1&or=camp2&equal=valor2
Per ordenar els registres seleccionats segons el valor d'un camp_ordenacio,
scriptURL?query=select&where=camp&is=valor&order=camp_ordenacio
La resposta a una consulta select té el format JSON. Des d'AppInventor es converteix en una llista de registres on cada registre conté elements del tipus "camp":"valor". Així, es pot accedir als valors fent servir el nom dels camps:
En la taula d'exemple, seleccionem tots els els alumnes que cursen segon de primària i mostrem els seus noms en un Notifier:
scriptURL?query=select&where=Nivell&is=Segon
INSERT
La consulta insert afegeix un registre a la taula i retorna el text "ok". El paràmetre de consulta values ha d'incloure el valor de tots els camps del registre, en el mateix ordre que es mostren en el full de càlcul. Com a separador dels valors, el script fa servir la cadena '$$'.
En la taula d'exemple, afegim un nou registre d'alumne:
scriptURL?query=insert&values=Elvira$$7/8/2006$$Numància 16, Badalona$$Segon$$http://sweetclipart.com/multisite/sweetclipart/files/girl-jumping-rope-clipart.png
UPDATE
La consulta update modifica els registres de la taula d'acord amb els criteris establerts. El paràmetre de consulta values ha d'incloure el valor de tots els camps del registre, en el mateix ordre que es mostren en el full de càlcul. Com a separador dels valors, el script fa servir la cadena '$$'.
Si, com és habitual, no s'ha de canviar el valor de tots els camps en els registres a modificar, es poden fer servir asteriscs (*) indicant que es volen mantenir els valors originals. El script retorna el nombre de registres modificats.
En la taula d'exemple, modificarem l'Adreça i el Nivell d'un alumne:
scriptURL?query=update&where=Nom&is=Enric&values=*$$*$$Balmes 13, Sant Adrià de Besòs$$Tercer$$*
DELETE
La consulta delete elimina els registres de la taula d'acord amb els criteris establerts. El script retorna el nombre de registres eliminats. Per eliminar tots els registres,
scriptURL?query=delete
Per eliminar els registres on cert camp té un valor determinat,
scriptURL?query=delete&where=camp&is=valor
En la taula d'exemple, eliminem els registres d'un alumne concret:
scriptURL?query=delete&where=Nom&is=Robert
FIELDS
La consulta fields retorna el nom dels camps de la taula (primera fila del full de càlcul) en format JSON.
scriptURL?query=fields
Un cop rebuda la resposta, es poden associar els noms dels camps a un ListPicker (per exemple) per tal que els usuaris puguin fer una tria en funció del camp en l'App.
Fem un ListPicker amb el nom dels camps de la taula d'exemple:
COUNT
La consulta count retorna la quantitat de registres que conté la taula.
scriptURL?query=count