Datentabellen-Dienste
Es gibt eine Reihe von integrierten Diensten zum Verschieben von Daten in und aus Datentabellen, die für die Datentabellenform spezifisch sind. Es handelt sich um folgende:
AddDataTableEntry (TAGS tags, VALUES values) – Übergeben Sie VALUES und optional tags. Eine Boolesche Rückgabe gibt einen Erfolg oder Fehler an.
AddDataTableEntries
– fügt mehrere Datentabelleneinträge hinzu.
AddOrUpdateDataTableEntry (TAGS tags, VALUES values) – Übergeben Sie VALUES und optional tags. Gibt einen Zeichenfolgenwert der streamID des neuen oder aktualisierten Eintrags in der Datentabelle zurück. Aktualisiert eine Zeile, wenn sie vorhanden ist; andernfalls wird eine Zeile hinzugefügt.
AddOrUpdateDataTableEntries– fügt mehrere Datentabelleneinträge hinzu oder aktualisiert sie. Aktualisiert eine Zeile, wenn sie vorhanden ist; andernfalls wird eine Zeile hinzugefügt. Primäre Schlüssel müssen für Aktualisierung übereinstimmen.
AssignDataTableEntries – ersetzt vorhandene Datentabelleneinträge.
DeleteDataTableEntry (STRING keyvalue) – löscht einen einzelnen Eintrag basierend auf dem Schlüsselwert. Eine Boolesche Rückgabe gibt einen Erfolg oder Fehler an.
* 
Erfordert einen primären Schlüssel zum Löschen eines Eintrags.
DeleteDataTableEntries – Löscht mehrere Einträge, die den Werten in der ersten Zeile des InfoTable-Eingabeparameters entsprechen. Beispiel: Eine Datentabelle enthält ein Feld namens Int01, und für drei Einträge ist Int01 auf 10 festgelegt. Bei der Ausführung löscht DeleteDataTableEntries alle drei Einträge, wenn 10 als Löschkriterium angegeben ist.
* 
Wenn mehr als eine Zeile mit Werten im InfoTable-Eingabeparameter angegeben ist, wird der Fehler "Invalid Number of values provided to DeleteDataTableEntries in thingName" angezeigt.
FindDataTableEntries – sucht nur Indizes, sodass dies evtl. schneller ist als der Dienst QueryDataTableEntries.
* 
Wenn mehr als ein Index in der Konfiguration für die Datentabelle definiert ist, wird der Index, der für die Suche verwendet wird, abhängig von den für die Suche angegebenen Feldern gewichtet (im Values-Parameter, den Sie an FindDataTableEntries übergeben). Wenn Sie beispielsweise vier Eigenschaften verwenden (INTEGER, BOOLEAN, STRING und TEXT), zwei Indizes erstellt haben (BOOLEAN und STRING sowie TEXT) und nur einen Wert für die Suche für die Eigenschaft TEXT angeben, wird dieser Index stärker gewichtet als der Index BOOLEAN/STRING, da Sie einen Wert für die Suche in diesem Index bereitgestellt haben.
GetDataTableEntries (NUMBER maxItems) – gibt die letzten Einträge bis zur maximalen Anzahl der angeforderten Elemente zurück.
GetDataTableEntry (STRING keyvalue) – gibt eine Infotable einer Zeile mit dem übereinstimmenden Eintrag zurück.
GetFieldNames – gibt eine Liste mit den Feldnamen zurück, die dieser Datentabelle zugeordnet sind.
PurgeDataTableEntries – entfernt alle Einträge für diese Datentabelle. Eine Boolesche Rückgabe gibt einen Erfolg oder Fehler an.
QueryDataTableEntries (NUMBER maxItems, STRING queryExpression, TAGS tags, VALUES query) – gibt eine Infotable der Datensätze zurück, die den Anforderungsparametern entsprechen.
SearchDataTableEntries – gibt alle Datentabelleneinträge zurück, die den Suchabfrageparametern entsprechen. searchExpression ist der Schlüssel zu diesem Dienst; enthält Volltextsuche für die Felder STRING und TEXT. Die folgenden Filer können für searchExpression verwendet werden: + (Pluszeichen), Groß-/Kleinschreibung, ? (Fragezeichen), % (Prozentzeichen), AND und OR.
UpdateDataTableEntry (TAGS tags, VALUES values) – Übergeben Sie values und optional tags. Eine Boolesche Rückgabe gibt einen Erfolg oder Fehler an. Aktualisiert eine Zeile, sofern vorhanden.
Beachtung von Groß- und Kleinschreibung bei Datentabellensuchen festlegen
Sie können einen Filter im Parameter query verwenden, damit bei Suchen in Datentabellen die Groß- und Kleinschreibung beachtet wird.
Hier ein Beispiel für den Dienst SearchDataTableEntries mit den folgenden Einträgen:
Sie können einen Filter definieren, damit der Parameter query bei der Rückgabe von Ergebnissen die Groß- und Kleinschreibung beachtet. Zum Beispiel:
{"filters":{"type":"EQ", "fieldName":"Field1","isCaseSensitive":true, "value":"AA"}}
Wenn Sie die Abfrage oben verwenden, werden die folgenden Ergebnisse zurückgegeben:
Hier ein anderes Beispiel mit demselben Dienst, in dem der folgende Filter im Parameter query verwendet wird:
{"filters":{"type":"EQ", "fieldName":"Field1","isCaseSensitive":true, "value":"aa"}}
Die folgenden Ergebnisse werden zurückgegeben: