2017-05-29 1 views
0

J'essaie d'interroger ma table locale pour obtenir un ensemble spécifique de données et je continue d'obtenir une erreur de syntaxe. Quelle est la bonne façon d'utiliser la clause where. Je regarde cette ressource:Azure applications mobiles requête client données hors connexion

https://azure.github.io/azure-mobile-apps-js-client/MobileServiceSqliteStore.html#read

Et je ne peut pas obtenir mon code pour fonctionner. Je suis en mesure d'obtenir les tables ensemble complet de données avec juste une lecture simple.

this.azureStore = new WindowsAzure.MobileServiceSqliteStore('db_offline'); 

var queryString = "EventId eq " + 
     eventId + " and Start gt datetime('" + 
     moment.utc(dayDate).startOf('day').format('YYYY-MM-DDTHH:mm:00') + "Z') and Start lt datetime('" + 
     moment.utc(dayDate).endOf('day').format('YYYY-MM-DDTHH:mm:00') + "Z')"; 
     this.azureStore.read(new WindowsAzure.Query('Timeslots').where(queryString)); 

Répondre

1

Vous devez formater la valeur de date comme indiqué ci-dessous:

Start gt datetime'2017-05-30T09:13:28.000Z' 

Ensuite, le code ressemblera à quelque chose comme ceci:

this.azureStore = new WindowsAzure.MobileServiceSqliteStore('db_offline'); 

var queryString = "EventId eq " 
     + eventId + " and Start gt datetime'" 
     + moment.utc(dayDate).startOf('day').format('YYYY-MM-DDTHH:mm:ss:000') 
     + "Z' and Start lt datetime'" 
     + moment.utc(dayDate).endOf('day').format('YYYY-MM-DDTHH:mm:ss:000') + "Z'"; 
     this.azureStore.read(new WindowsAzure.Query('Timeslots').where(queryString));