Consultes incloses en el script


En aquest apartat trobarem el llistat de possibles consultes, així com exemples d'ús.



Més concretament es pretén donar resposta a les preguntes següents:


  • Quins tipus de consultes conté el script?
  • Quins paràmetres cal indicar en cada consulta?
  • Com s'obté la resposta a les consultes?


En els exemples d'ús de cada consulta, es fa referència a la taula amb dades d'alumnes que hem creat prèviament: 500

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

Si feu servir el paràmetre order en un camp que conté números o dates, apliqueu abans el format de cel·la adient a les cel·les del full de càlcul de la columna corresponent. Altrament, l'ordenació seria incorrecta (per exemple 17,2,305,41,5,523,60 en comptes de 2,5,17,41,60,305,523).

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: 500
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

No us preocupeu si durant les proves o l'ús posterior de les consultes heu eliminat o modificat més registres dels previstos. Els documents de Google Sheets tenen associat un historial de versions (Fitxer - Historial de versions - Mostra l'historial de versions) i podeu restaurar la versió que necessiteu.

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: 500


COUNT

La consulta count retorna la quantitat de registres que conté la taula.

scriptURL?query=count